X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=3bd3d6bebe75a2c1b0b449e262b0d4ed115c828c;hb=1e2fa0f4dad96d33535e3dd3d85fbf9219c0d1bc;hp=11ee9c0fb79ee6465a938610c3e75778abaeffe9;hpb=2f8bd98e428f73379a9173ccc9f7d03c885d641a;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 11ee9c0f..3bd3d6be 100644 --- a/src/main.h +++ b/src/main.h @@ -56,6 +56,10 @@ #define MAX_LEV_FIELDX MAX_PLAYFIELD_WIDTH #define MAX_LEV_FIELDY MAX_PLAYFIELD_HEIGHT +#define MIN_SCROLL_DELAY 0 +#define STD_SCROLL_DELAY 3 +#define MAX_SCROLL_DELAY 8 + #define SCREENX(a) ((a) - scroll_x) #define SCREENY(a) ((a) - scroll_y) #define LEVELX(a) ((a) + scroll_x) @@ -649,7 +653,7 @@ #define EM_KEY_NR(e) ((e) - EL_EM_KEY_1) #define EMC_KEY_NR(e) ((e) - EL_EMC_KEY_5 + 4) #define KEY_NR(e) (IS_RND_KEY(e) ? RND_KEY_NR(e) : \ - IS_EM_KEY(e) ? EM_KEY_NR(e) : \ + IS_EM_KEY(e) ? EM_KEY_NR(e) : \ IS_EMC_KEY(e) ? EMC_KEY_NR(e) : 0) #define IS_RND_GATE(e) ((e) >= EL_GATE_1 && \ @@ -1730,10 +1734,11 @@ #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 GFX_SPECIAL_ARG_PANEL 11 +#define GFX_SPECIAL_ARG_PREVIEW 12 +#define GFX_SPECIAL_ARG_CRUMBLED 13 -#define NUM_SPECIAL_GFX_ARGS 13 +#define NUM_SPECIAL_GFX_ARGS 14 /* these additional definitions are currently only used for draw offsets */ #define GFX_SPECIAL_ARG_INFO_MAIN 0 @@ -1788,14 +1793,15 @@ #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 GFX_ARG_ALIGN 42 -#define GFX_ARG_VALIGN 43 -#define GFX_ARG_SORT_PRIORITY 44 +#define GFX_ARG_FADE_MODE 39 +#define GFX_ARG_FADE_DELAY 40 +#define GFX_ARG_POST_DELAY 41 +#define GFX_ARG_AUTO_DELAY 42 +#define GFX_ARG_ALIGN 43 +#define GFX_ARG_VALIGN 44 +#define GFX_ARG_SORT_PRIORITY 45 -#define NUM_GFX_ARGS 45 +#define NUM_GFX_ARGS 46 /* values for sound configuration suffixes */ @@ -1879,12 +1885,13 @@ #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 +#define GAME_MODE_PSEUDO_PANEL 11 +#define GAME_MODE_PSEUDO_PREVIEW 12 +#define GAME_MODE_PSEUDO_CRUMBLED 13 /* there are no special config file suffixes for these modes */ -#define GAME_MODE_PSEUDO_TYPENAME 13 -#define GAME_MODE_QUIT 14 +#define GAME_MODE_PSEUDO_TYPENAME 14 +#define GAME_MODE_QUIT 15 /* special definitions currently only used for custom artwork configuration */ #define MUSIC_PREFIX_BACKGROUND 0 @@ -2049,7 +2056,7 @@ struct MenuMainInfo struct TitleFadingInfo { - int anim_mode; + int fade_mode; int fade_delay; int post_delay; int auto_delay; @@ -2067,7 +2074,7 @@ struct TitleMessageInfo boolean parse_comments; int sort_priority; - int anim_mode; + int fade_mode; int fade_delay; int post_delay; int auto_delay; @@ -2084,8 +2091,10 @@ struct MenuInfo int list_size[NUM_SPECIAL_GFX_ARGS]; - struct TitleFadingInfo navigation; - struct TitleFadingInfo destination; + struct TitleFadingInfo enter_menu; + struct TitleFadingInfo leave_menu; + struct TitleFadingInfo enter_screen[NUM_SPECIAL_GFX_ARGS]; + struct TitleFadingInfo leave_screen[NUM_SPECIAL_GFX_ARGS]; int sound[NUM_SPECIAL_GFX_ARGS]; int music[NUM_SPECIAL_GFX_ARGS]; @@ -2247,6 +2256,7 @@ struct LevelInfo boolean use_spring_bug; /* for compatibility with old levels */ boolean use_time_orb_bug; /* for compatibility with old levels */ boolean instant_relocation; /* no visual delay when relocating player */ + boolean shifted_relocation; /* no level centering when relocating player */ boolean can_pass_to_walkable; /* player can pass to empty or walkable tile */ boolean grow_into_diggable; /* amoeba can grow into anything diggable */ @@ -2518,6 +2528,7 @@ struct GraphicInfo int draw_masked; /* optional setting for drawing envelope gfx */ + int fade_mode; /* optional setting for drawing title screens */ 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 */ @@ -2686,6 +2697,7 @@ extern struct TapeInfo tape; extern struct GlobalInfo global; extern struct BorderInfo border; extern struct TitleFadingInfo fading; +extern struct TitleFadingInfo fading_none; extern struct TitleFadingInfo title_initial_default; extern struct TitleFadingInfo title_default; extern struct TitleMessageInfo titlemessage_initial_default;