X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=97e8ff19ca7b478ae7ecbb1bed9dbf319fff6416;hb=9fd0f69468128f9083268835c3098eb7085a14dd;hp=a0aec463f55aa7f2b4f6bf8114562811a859b113;hpb=eb09b9aa5521e286723c668030825cd0e3470c3c;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index a0aec463..97e8ff19 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 && \ @@ -1788,14 +1792,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 */ @@ -2047,15 +2052,12 @@ struct MenuMainInfo struct MenuMainInputInfo input; }; -struct TitleInfo +struct TitleFadingInfo { + int fade_mode; int fade_delay; int post_delay; int auto_delay; - - int fade_delay_final; - int post_delay_final; - int auto_delay_final; }; struct TitleMessageInfo @@ -2067,8 +2069,13 @@ struct TitleMessageInfo int font; boolean autowrap; boolean centered; - boolean skip_comments; + boolean parse_comments; int sort_priority; + + int fade_mode; + int fade_delay; + int post_delay; + int auto_delay; }; struct MenuInfo @@ -2082,9 +2089,10 @@ struct MenuInfo int list_size[NUM_SPECIAL_GFX_ARGS]; - int fade_delay; - int post_delay; - int auto_delay; + 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]; @@ -2246,6 +2254,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 */ @@ -2517,6 +2526,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 */ @@ -2684,7 +2694,10 @@ extern struct HiScore highscore[]; extern struct TapeInfo tape; extern struct GlobalInfo global; extern struct BorderInfo border; -extern struct TitleInfo title; +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; extern struct TitleMessageInfo titlemessage_initial[]; extern struct TitleMessageInfo titlemessage_default;