#define BUTTON_ACTIVE(b) (ActiveButton[b])
#define FONT_ACTIVE(f) (ActiveFont[f])
-
/* fundamental game speed values */
#define MICROLEVEL_SCROLL_DELAY 50 /* delay for scrolling micro level */
#define MICROLEVEL_LABEL_DELAY 250 /* delay for micro level label */
#define NUM_ENGINE_TYPES 4
+/* values for automatically playing tapes */
+#define AUTOPLAY_TEST 0
+#define AUTOPLAY_PLAY 1
+#define AUTOPLAY_FFWD 2
+
struct BorderInfo
{
int scrollbar_xoffset;
int list_size[NUM_SPECIAL_GFX_ARGS];
+ int list_size_info[NUM_SPECIAL_GFX_INFO_ARGS];
struct TitleFadingInfo enter_menu;
struct TitleFadingInfo leave_menu;
struct TitleFadingInfo enter_screen[NUM_SPECIAL_GFX_ARGS];
struct TitleFadingInfo leave_screen[NUM_SPECIAL_GFX_ARGS];
- struct TitleFadingInfo next_screen;
+ struct TitleFadingInfo next_screen[NUM_SPECIAL_GFX_ARGS];
int sound[NUM_SPECIAL_GFX_ARGS];
int music[NUM_SPECIAL_GFX_ARGS];
int step_offset;
int step_delay;
int anim_mode;
+ int align;
+ int valign;
boolean autowrap;
boolean centered;
boolean wrap_single_words;
struct EditorPaletteElementInfo element_right;
};
+struct EditorDrawingAreaInfo
+{
+ int tile_size;
+};
+
struct EditorInfo
{
struct EditorSettingsInfo settings;
struct EditorButtonInfo button;
struct EditorInputInfo input;
struct EditorPaletteInfo palette;
+ struct EditorDrawingAreaInfo drawingarea;
};
struct ViewportInfo
{
- struct RectWithBorder window;
+ struct RectWithBorder window[NUM_SPECIAL_GFX_ARGS];
struct RectWithBorder playfield[NUM_SPECIAL_GFX_ARGS];
struct RectWithBorder door_1[NUM_SPECIAL_GFX_ARGS];
struct RectWithBorder door_2[NUM_SPECIAL_GFX_ARGS];
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 lazy_relocation; /* only redraw off-screen player relocation */
boolean can_pass_to_walkable; /* player can pass to empty or walkable tile */
boolean grow_into_diggable; /* amoeba can grow into anything diggable */
boolean auto_exit_sokoban; /* automatically finish solved Sokoban levels */
char *autoplay_leveldir;
int autoplay_level[MAX_TAPES_PER_SET];
boolean autoplay_all;
+ boolean autoplay_mode;
char *convert_leveldir;
int convert_level_nr;
extern DrawBuffer *drawto_field;
extern int game_status;
+extern boolean game_status_last_screen;
extern boolean level_editor_test_game;
extern boolean network_playing;
extern int EXSIZE, EYSIZE;
extern int TILESIZE_VAR;
+extern int FADE_SX, FADE_SY;
+extern int FADE_SXSIZE, FADE_SYSIZE;
+
extern int FX, FY;
extern int ScrollStepSize;
extern int ScreenMovDir, ScreenMovPos, ScreenGfxPos;
extern struct TitleFadingInfo fading_none;
extern struct TitleFadingInfo title_initial_default;
extern struct TitleFadingInfo title_default;
+extern struct TitleMessageInfo titlescreen_initial_default;
+extern struct TitleMessageInfo titlescreen_initial_first[];
+extern struct TitleMessageInfo titlescreen_initial[];
+extern struct TitleMessageInfo titlescreen_default;
+extern struct TitleMessageInfo titlescreen_first[];
+extern struct TitleMessageInfo titlescreen[];
extern struct TitleMessageInfo titlemessage_initial_default;
+extern struct TitleMessageInfo titlemessage_initial_first[];
extern struct TitleMessageInfo titlemessage_initial[];
extern struct TitleMessageInfo titlemessage_default;
+extern struct TitleMessageInfo titlemessage_first[];
extern struct TitleMessageInfo titlemessage[];
extern struct TitleMessageInfo readme;
extern struct InitInfo init, init_last;