#define IMG_EMPTY IMG_EMPTY_SPACE
#define IMG_SP_EMPTY IMG_SP_EMPTY_SPACE
#define IMG_CHAR_START IMG_CHAR_SPACE
-#define IMG_GENERIC_START IMG_GENERIC_0
+#define IMG_CUSTOM_START IMG_CUSTOM_0
#define WIN_XSIZE 672
#define WIN_YSIZE 560
#define VXSIZE DXSIZE
#define VYSIZE 100
#define EXSIZE DXSIZE
-#define EYSIZE (VXSIZE + 44)
+#define EYSIZE (VYSIZE + 44)
#define FULL_SXSIZE (2 + SXSIZE + 2)
#define FULL_SYSIZE (2 + SYSIZE + 2)
#define MICROLEV_XSIZE ((STD_LEV_FIELDX + 2) * MICRO_TILEX)
#define EL_UNUSED_358 358
#define EL_UNUSED_359 359
-#define EL_GENERIC_START 360
-#define EL_GENERIC_0 (EL_GENERIC_START + 0)
-#define EL_GENERIC_31 (EL_GENERIC_START + 31)
-#define EL_GENERIC_END (EL_GENERIC_START + 31)
+#define EL_CUSTOM_START 360
+#define EL_CUSTOM_0 (EL_CUSTOM_START + 0)
+#define EL_CUSTOM_31 (EL_CUSTOM_START + 127)
+#define EL_CUSTOM_END (EL_CUSTOM_START + 127)
-#define NUM_FILE_ELEMENTS 392
+#define NUM_FILE_ELEMENTS 488
/* "real" (and therefore drawable) runtime elements */
#define GFX_ARG_YPOS 1
#define GFX_ARG_OFFSET 2
#define GFX_ARG_VERTICAL 3
-#define GFX_ARG_FRAMES 4
-#define GFX_ARG_START_FRAME 5
-#define GFX_ARG_DELAY 6
-#define GFX_ARG_MODE_LOOP 7
-#define GFX_ARG_MODE_LINEAR 8
-#define GFX_ARG_MODE_PINGPONG 9
-#define GFX_ARG_MODE_PINGPONG2 10
-#define GFX_ARG_MODE_REVERSE 11
-#define GFX_ARG_GLOBAL_SYNC 12
+#define GFX_ARG_XOFFSET 4
+#define GFX_ARG_YOFFSET 5
+#define GFX_ARG_FRAMES 6
+#define GFX_ARG_START_FRAME 7
+#define GFX_ARG_DELAY 8
+#define GFX_ARG_MODE_LOOP 9
+#define GFX_ARG_MODE_LINEAR 10
+#define GFX_ARG_MODE_PINGPONG 11
+#define GFX_ARG_MODE_PINGPONG2 12
+#define GFX_ARG_MODE_REVERSE 13
+#define GFX_ARG_GLOBAL_SYNC 14
-#define NUM_GFX_ARGS 13
+#define NUM_GFX_ARGS 15
+
+#define GFX_ARG_UNDEFINED "-1000000"
+#define GFX_ARG_UNDEFINED_VALUE (atoi(GFX_ARG_UNDEFINED))
/* values for sound configuration suffixes */
#define SETUP 8
#define PROGRAM_VERSION_MAJOR 2
-#define PROGRAM_VERSION_MINOR 1
-#define PROGRAM_VERSION_PATCH 2
-#define PROGRAM_VERSION_STRING "2.1.2"
+#define PROGRAM_VERSION_MINOR 2
+#define PROGRAM_VERSION_PATCH 0
+#define PROGRAM_VERSION_STRING "2.2.0rc2"
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"
boolean double_speed;
boolean gravity;
boolean em_slippery_gems; /* EM style "gems slip from wall" behaviour */
+
+ boolean no_level_file;
};
struct TapeInfo
boolean recording, playing, pausing;
boolean fast_forward;
boolean index_search;
+ boolean auto_play;
+ boolean auto_play_level_solved;
boolean quick_resume;
boolean single_step;
boolean changed;
struct GlobalInfo
{
+ char *autoplay_leveldir;
+ int autoplay_level_nr;
+
float frames_per_second;
boolean fps_slowdown;
int fps_slowdown_factor;
int anim_delay; /* important: delay of 1 means "no delay"! */
int anim_mode;
boolean anim_global_sync;
+
+#if defined(TARGET_X11_NATIVE)
+ Pixmap clip_mask; /* single-graphic-only clip mask for X11 */
+ GC clip_gc; /* single-graphic-only clip gc for X11 */
+#endif
};
extern GC tile_clip_gc;