rnd-20030105-1-src
[rocksndiamonds.git] / src / main.h
index b24799a61fcceadf7081f4b6aa17367e64780cfe..37fcb08bc6ca75734a5f16832f52554813a55bc7 100644 (file)
@@ -33,7 +33,7 @@
 #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"
@@ -1554,6 +1559,8 @@ struct LevelInfo
   boolean double_speed;
   boolean gravity;
   boolean em_slippery_gems;    /* EM style "gems slip from wall" behaviour */
+
+  boolean no_level_file;
 };
 
 struct TapeInfo
@@ -1573,6 +1580,8 @@ 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;
@@ -1609,6 +1618,9 @@ struct GameInfo
 
 struct GlobalInfo
 {
+  char *autoplay_leveldir;
+  int autoplay_level_nr;
+
   float frames_per_second;
   boolean fps_slowdown;
   int fps_slowdown_factor;
@@ -1642,6 +1654,11 @@ struct NewGraphicInfo
   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;