rnd-20060305-1-src
[rocksndiamonds.git] / src / main.h
index cdfd00cc8999f852b59e8f1d9cdd6cd97aa0469d..c26e1a259b52f2a5acc9e1e049544137a7c57fbf 100644 (file)
 #define GFX_ELEMENT(e)         (element_info[e].use_gfx_element ?      \
                                 element_info[e].gfx_element : e)
 
+#if 1
+#define TILE_GFX_ELEMENT(x, y)                                         \
+                  (GfxElement[x][y] != EL_UNDEFINED &&                 \
+                   Feld[x][y] != EL_EXPLOSION ?                        \
+                   GfxElement[x][y] : Feld[x][y])
+#else
+#define TILE_GFX_ELEMENT(x, y)                                         \
+       GFX_ELEMENT(GfxElement[x][y] != EL_UNDEFINED &&                 \
+                   Feld[x][y] != EL_EXPLOSION ?                        \
+                   GfxElement[x][y] : Feld[x][y])
+#endif
+
 /* !!! "use sound" deactivated due to problems with level "bug machine" !!! */
 /* (solution: add separate "use sound of element" to level file and editor) */
 #if 0
 #define EL_EM_GATE_3_GRAY              252
 #define EL_EM_GATE_4_GRAY              253
 
-#define EL_UNUSED_254                  254
-#define EL_UNUSED_255                  255
+#define EL_EM_DYNAMITE                 254
+#define EL_EM_DYNAMITE_ACTIVE          255
 
 #define EL_PEARL                       256
 #define EL_CRYSTAL                     257
 #define ACTION_TURNING_FROM_DOWN       46
 #define ACTION_SMASHED_BY_ROCK         47
 #define ACTION_SMASHED_BY_SPRING       48
-#define ACTION_SLURPING                        49
+#define ACTION_EATING                  49
 #define ACTION_TWINKLING               50
 #define ACTION_SPLASHING               51
 #define ACTION_PAGE_1                  52
@@ -2079,6 +2091,10 @@ struct GameInfo
 
   /* values for special game initialization control */
   boolean restart_level;
+
+  /* values for special game control */
+  int centered_player_nr;
+  int centered_player_nr_next;
 };
 
 struct GlobalInfo