rnd-20061230-1-src
[rocksndiamonds.git] / src / main.h
index c77317238fbba2d8905978f5fc872105acf524ac..b8430daa574113dcf4d8f24f8836c90b33e04e55 100644 (file)
 /* values for special image configuration suffixes (must match game mode) */
 #define GFX_SPECIAL_ARG_DEFAULT                0
 #define GFX_SPECIAL_ARG_TITLE          1
-#define GFX_SPECIAL_ARG_MAIN           2
-#define GFX_SPECIAL_ARG_LEVELS         3
-#define GFX_SPECIAL_ARG_SCORES         4
-#define GFX_SPECIAL_ARG_EDITOR         5
-#define GFX_SPECIAL_ARG_INFO           6
-#define GFX_SPECIAL_ARG_SETUP          7
-#define GFX_SPECIAL_ARG_PLAYING                8
-#define GFX_SPECIAL_ARG_DOOR           9
-#define GFX_SPECIAL_ARG_PREVIEW                10
-#define GFX_SPECIAL_ARG_CRUMBLED       11
-
-#define NUM_SPECIAL_GFX_ARGS           12
+#define GFX_SPECIAL_ARG_MESSAGE                2
+#define GFX_SPECIAL_ARG_MAIN           3
+#define GFX_SPECIAL_ARG_LEVELS         4
+#define GFX_SPECIAL_ARG_SCORES         5
+#define GFX_SPECIAL_ARG_EDITOR         6
+#define GFX_SPECIAL_ARG_INFO           7
+#define GFX_SPECIAL_ARG_SETUP          8
+#define GFX_SPECIAL_ARG_PLAYING                9
+#define GFX_SPECIAL_ARG_DOOR           10
+#define GFX_SPECIAL_ARG_PREVIEW                11
+#define GFX_SPECIAL_ARG_CRUMBLED       12
+
+#define NUM_SPECIAL_GFX_ARGS           13
 
 /* these additional definitions are currently only used for draw offsets */
 #define GFX_SPECIAL_ARG_INFO_MAIN      0
 #define GFX_ARG_NAME                   36
 #define GFX_ARG_SCALE_UP_FACTOR                37
 #define GFX_ARG_CLONE_FROM             38
+#define GFX_ARG_FADE_DELAY             39
+#define GFX_ARG_POST_DELAY             40
+#define GFX_ARG_AUTO_DELAY             41
 
-#define NUM_GFX_ARGS                   39
+#define NUM_GFX_ARGS                   42
 
 
 /* values for sound configuration suffixes */
 /* values for game_status (must match special image configuration suffixes) */
 #define GAME_MODE_DEFAULT              0
 #define GAME_MODE_TITLE                        1
-#define GAME_MODE_MAIN                 2
-#define GAME_MODE_LEVELS               3
-#define GAME_MODE_SCORES               4
-#define GAME_MODE_EDITOR               5
-#define GAME_MODE_INFO                 6
-#define GAME_MODE_SETUP                        7
-#define GAME_MODE_PLAYING              8
-#define GAME_MODE_PSEUDO_DOOR          9
-#define GAME_MODE_PSEUDO_PREVIEW       10
-#define GAME_MODE_PSEUDO_CRUMBLED      11
+#define GAME_MODE_MESSAGE              2
+#define GAME_MODE_MAIN                 3
+#define GAME_MODE_LEVELS               4
+#define GAME_MODE_SCORES               5
+#define GAME_MODE_EDITOR               6
+#define GAME_MODE_INFO                 7
+#define GAME_MODE_SETUP                        8
+#define GAME_MODE_PLAYING              9
+#define GAME_MODE_PSEUDO_DOOR          10
+#define GAME_MODE_PSEUDO_PREVIEW       11
+#define GAME_MODE_PSEUDO_CRUMBLED      12
 
 /* there are no special config file suffixes for these modes */
-#define GAME_MODE_PSEUDO_TYPENAME      12
-#define GAME_MODE_QUIT                 13
+#define GAME_MODE_PSEUDO_TYPENAME      13
+#define GAME_MODE_QUIT                 14
 
 /* special definitions currently only used for custom artwork configuration */
 #define MUSIC_PREFIX_BACKGROUND                0
@@ -1902,6 +1907,17 @@ struct MenuMainInfo
   struct MenuMainInputInfo input;
 };
 
+struct TitleInfo
+{
+  int fade_delay;
+  int post_delay;
+  int auto_delay;
+
+  int fade_delay_final;
+  int post_delay_final;
+  int auto_delay_final;
+};
+
 struct MenuInfo
 {
   int draw_xoffset[NUM_SPECIAL_GFX_ARGS];
@@ -2345,6 +2361,12 @@ struct GraphicInfo
 
   int draw_masked;             /* optional setting for drawing envelope gfx */
 
+  int fade_delay;              /* optional setting for drawing title screens */
+  int post_delay;              /* optional setting for drawing title screens */
+  int auto_delay;              /* optional setting for drawing title screens */
+
+  boolean use_image_size;      /* use image size as default width and height */
+
 #if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND)
   Pixmap clip_mask;            /* single-graphic-only clip mask for X11 */
   GC clip_gc;                  /* single-graphic-only clip gc for X11 */
@@ -2459,6 +2481,7 @@ extern short                      ChangeEvent[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   WasJustMoving[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   WasJustFalling[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   CheckCollision[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short                   CheckImpact[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   AmoebaCnt[MAX_NUM_AMOEBA];
 extern short                   AmoebaCnt2[MAX_NUM_AMOEBA];
@@ -2503,6 +2526,7 @@ extern struct HiScore             highscore[];
 extern struct TapeInfo         tape;
 extern struct GlobalInfo       global;
 extern struct BorderInfo       border;
+extern struct TitleInfo                title;
 extern struct MenuInfo         menu;
 extern struct DoorInfo         door_1, door_2;
 extern struct PreviewInfo      preview;