#define IS_LOOP_SOUND(s) (sound_info[s].loop)
+#define IS_SPECIAL_GFX_ARG(a) ((a) >= 0 && (a) < NUM_SPECIAL_GFX_ARGS)
+
#define EL_CASCADE_ACTIVE(e) (IS_EDITOR_CASCADE_INACTIVE(e) ? (e) + 1 : (e))
#define EL_CASCADE_INACTIVE(e) (IS_EDITOR_CASCADE_ACTIVE(e) ? (e) - 1 : (e))
#define EL_CASCADE_TOGGLE(e) (IS_EDITOR_CASCADE_INACTIVE(e) ? (e) + 1 : \
/* 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_MESSAGE 2
+#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_ARG_POST_DELAY 40
#define GFX_ARG_AUTO_DELAY 41
#define GFX_ARG_ALIGN 42
-#define GFX_ARG_SORT_PRIORITY 43
+#define GFX_ARG_VALIGN 43
+#define GFX_ARG_SORT_PRIORITY 44
-#define NUM_GFX_ARGS 44
+#define NUM_GFX_ARGS 45
/* 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_MESSAGE 2
+#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
boolean draw_masked[NUM_SPECIAL_GFX_ARGS];
};
-#if 0
-struct MenuPosInfo
-{
- int x, y;
- int width, height;
- int align;
-};
-#endif
-
struct MenuMainButtonInfo
{
struct MenuPosInfo name;
struct TextPosInfo setup;
struct TextPosInfo quit;
- struct TextPosInfo current_level;
struct TextPosInfo first_level;
struct TextPosInfo last_level;
+ struct TextPosInfo level_number;
struct TextPosInfo level_info_1;
struct TextPosInfo level_info_2;
struct TextPosInfo level_name;
struct TitleInfo
{
+ int anim_mode;
int fade_delay;
int post_delay;
int auto_delay;
-
- int fade_delay_final;
- int post_delay_final;
- int auto_delay_final;
};
struct TitleMessageInfo
{
- int x;
- int y;
- int width;
- int height;
- int chars;
- int lines;
- int align;
+ int x, y;
+ int width, height;
+ int chars, lines;
+ int align, valign;
int font;
boolean autowrap;
boolean centered;
- boolean skip_comments;
+ boolean parse_comments;
int sort_priority;
+
+ int anim_mode;
+ int fade_delay;
+ int post_delay;
+ int auto_delay;
};
struct MenuInfo
struct PreviewInfo
{
int x, y;
- int align;
+ int align, valign;
int xsize, ysize;
int xoffset, yoffset;
int tile_size;
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 */
- int align; /* optional setting for drawing title screens */
+ int align, valign; /* optional setting for drawing title screens */
int sort_priority; /* optional setting for drawing title screens */
boolean use_image_size; /* use image size as default width and height */
extern struct TapeInfo tape;
extern struct GlobalInfo global;
extern struct BorderInfo border;
+extern struct TitleInfo title_initial_default;
+extern struct TitleInfo title_default;
extern struct TitleInfo title;
+extern struct TitleMessageInfo titlemessage_initial_default;
extern struct TitleMessageInfo titlemessage_initial[];
+extern struct TitleMessageInfo titlemessage_default;
extern struct TitleMessageInfo titlemessage[];
extern struct TitleMessageInfo readme;
extern struct MenuInfo menu;