/* 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
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];
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 */
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];
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;