/* values for special image configuration suffixes (must match game mode) */
#define GFX_SPECIAL_ARG_DEFAULT 0
-#define GFX_SPECIAL_ARG_TITLE_INITIAL 1
-#define GFX_SPECIAL_ARG_TITLE 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_PANEL 11
-#define GFX_SPECIAL_ARG_PREVIEW 12
-#define GFX_SPECIAL_ARG_CRUMBLED 13
-
-#define NUM_SPECIAL_GFX_ARGS 14
+#define GFX_SPECIAL_ARG_LOADING 1
+#define GFX_SPECIAL_ARG_TITLE_INITIAL 2
+#define GFX_SPECIAL_ARG_TITLE 3
+#define GFX_SPECIAL_ARG_MAIN 4
+#define GFX_SPECIAL_ARG_LEVELS 5
+#define GFX_SPECIAL_ARG_SCORES 6
+#define GFX_SPECIAL_ARG_EDITOR 7
+#define GFX_SPECIAL_ARG_INFO 8
+#define GFX_SPECIAL_ARG_SETUP 9
+#define GFX_SPECIAL_ARG_PLAYING 10
+#define GFX_SPECIAL_ARG_DOOR 11
+#define GFX_SPECIAL_ARG_PANEL 12
+#define GFX_SPECIAL_ARG_PREVIEW 13
+#define GFX_SPECIAL_ARG_CRUMBLED 14
+
+#define NUM_SPECIAL_GFX_ARGS 15
/* these additional definitions are currently only used for draw offsets */
#define GFX_SPECIAL_ARG_INFO_MAIN 0
/* values for game_status (must match special image configuration suffixes) */
#define GAME_MODE_DEFAULT 0
-#define GAME_MODE_TITLE_INITIAL 1
-#define GAME_MODE_TITLE 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_PANEL 11
-#define GAME_MODE_PSEUDO_PREVIEW 12
-#define GAME_MODE_PSEUDO_CRUMBLED 13
+#define GAME_MODE_LOADING 1
+#define GAME_MODE_TITLE_INITIAL 2
+#define GAME_MODE_TITLE 3
+#define GAME_MODE_MAIN 4
+#define GAME_MODE_LEVELS 5
+#define GAME_MODE_SCORES 6
+#define GAME_MODE_EDITOR 7
+#define GAME_MODE_INFO 8
+#define GAME_MODE_SETUP 9
+#define GAME_MODE_PLAYING 10
+#define GAME_MODE_PSEUDO_DOOR 11
+#define GAME_MODE_PSEUDO_PANEL 12
+#define GAME_MODE_PSEUDO_PREVIEW 13
+#define GAME_MODE_PSEUDO_CRUMBLED 14
/* there are no special config file suffixes for these modes */
-#define GAME_MODE_PSEUDO_TYPENAME 14
-#define GAME_MODE_QUIT 15
+#define GAME_MODE_PSEUDO_TYPENAME 15
+#define GAME_MODE_QUIT 16
/* special definitions currently only used for custom artwork configuration */
#define MUSIC_PREFIX_BACKGROUND 0
#if CREATE_SPECIAL_EDITION_RND_JUE
#undef PROGRAM_TITLE_STRING
-#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds - Version Jue"
+#define PROGRAM_TITLE_STRING "R'n'D - jue"
#undef PROGRAM_UNIX_DATADIR_STRING
#define PROGRAM_UNIX_DATADIR_STRING ".rocksndiamonds-jue"
#endif
int auto_delay;
};
+struct InitInfo
+{
+ struct MenuPosInfo busy;
+};
+
struct MenuInfo
{
int draw_xoffset[NUM_SPECIAL_GFX_ARGS];
struct TitleFadingInfo leave_menu;
struct TitleFadingInfo enter_screen[NUM_SPECIAL_GFX_ARGS];
struct TitleFadingInfo leave_screen[NUM_SPECIAL_GFX_ARGS];
+ struct TitleFadingInfo next_screen;
int sound[NUM_SPECIAL_GFX_ARGS];
int music[NUM_SPECIAL_GFX_ARGS];
short actual_trigger_element; /* element that actually triggered change */
int actual_trigger_side; /* element side that triggered the change */
int actual_trigger_player; /* player which actually triggered change */
+ int actual_trigger_player_bits; /* player bits of triggering players */
int actual_trigger_ce_value; /* CE value of element that triggered change */
int actual_trigger_ce_score; /* CE score of element that triggered change */
extern struct TitleMessageInfo titlemessage_default;
extern struct TitleMessageInfo titlemessage[];
extern struct TitleMessageInfo readme;
+extern struct InitInfo init;
extern struct MenuInfo menu;
extern struct DoorInfo door_1, door_2;
extern struct PreviewInfo preview;
extern struct MusicFileInfo *music_file_info;
extern struct HelpAnimInfo *helpanim_info;
extern SetupFileHash *helptext_info;
+extern SetupFileHash *image_config_hash;
+extern SetupFileHash *element_token_hash;
+extern SetupFileHash *graphic_token_hash;
+extern SetupFileHash *font_token_hash;
extern struct ConfigTypeInfo image_config_suffix[];
extern struct ConfigTypeInfo sound_config_suffix[];
extern struct ConfigTypeInfo music_config_suffix[];