#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)
#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 && \
#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 */
struct TitleFadingInfo
{
- int anim_mode;
+ int fade_mode;
int fade_delay;
int post_delay;
int auto_delay;
boolean parse_comments;
int sort_priority;
- int anim_mode;
+ int fade_mode;
int fade_delay;
int post_delay;
int auto_delay;
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];
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 */
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 */
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;