added macros for some game elements
[rocksndiamonds.git] / src / main.h
index 68b2cd695d0b50fc80a4d3f89f2405fd1435ce69..9a54263f204e3aace9ce1e5ab7a81cb6af8966e1 100644 (file)
                                         (e) == EL_PEARL          ? EL_BOMB    :    \
                                         (e) == EL_CRYSTAL        ? EL_CRYSTAL :    \
                                         EL_ROCK)
+
+#define IS_BD_PLAYER_ELEMENT(e)                ((e) == EL_BD_INBOX ||                  \
+                                        (e) == EL_BD_PLAYER ||                 \
+                                        (e) == EL_BD_PLAYER_WITH_BOMB ||       \
+                                        (e) == EL_BD_PLAYER_GLUED ||           \
+                                        (e) == EL_BD_PLAYER_STIRRING)
+
+#define IS_SOKOBAN_OBJECT_OR_FIELD(e)  ((e) == EL_SOKOBAN_OBJECT ||            \
+                                        (e) == EL_SOKOBAN_FIELD_EMPTY ||       \
+                                        (e) == EL_SOKOBAN_FIELD_FULL)
+
 #define IS_DRAWABLE(e)                 ((e) < EL_BLOCKED)
 #define IS_NOT_DRAWABLE(e)             ((e) >= EL_BLOCKED)
 #define TAPE_IS_EMPTY(x)               ((x).length == 0)
 #define EL_DF_END_2                            EL_DF_SLOPE_END
 
 // BD style elements
-#define EL_BD_PLAYER                           1253
+#define EL_BD_EMPTY_SPACE                      1253
+#define EL_BD_EMPTY                            EL_BD_EMPTY_SPACE
 #define EL_BD_SAND                             1254
 #define EL_BD_SAND_2                           1255
 #define EL_BD_SAND_BALL                                1256
 #define EL_BD_DRAGONFLY_DOWN                   1377
 #define EL_BD_BOMB                             1378
 #define EL_BD_NITRO_PACK                       1379
-#define EL_BD_PLAYER_WITH_BOMB                 1380
-#define EL_BD_PLAYER_GLUED                     1381
-#define EL_BD_PLAYER_STIRRING                  1382
-#define EL_BD_FAKE_BONUS                       1383
-#define EL_BD_COVERED                          1384
+#define EL_BD_PLAYER                           1380
+#define EL_BD_PLAYER_WITH_BOMB                 1381
+#define EL_BD_PLAYER_GLUED                     1382
+#define EL_BD_PLAYER_STIRRING                  1383
+#define EL_BD_FAKE_BONUS                       1384
+#define EL_BD_COVERED                          1385
 
-#define NUM_FILE_ELEMENTS                      1385
+#define NUM_FILE_ELEMENTS                      1386
 
 
 // "real" (and therefore drawable) runtime elements
 #define EL_GRAPHIC_6                           (EL_FIRST_DUMMY + 34)
 #define EL_GRAPHIC_7                           (EL_FIRST_DUMMY + 35)
 #define EL_GRAPHIC_8                           (EL_FIRST_DUMMY + 36)
+#define EL_BD_GAME_GRAPHICS_COLOR_TEMPLATE     (EL_FIRST_DUMMY + 37)
 
 // internal elements (only used for internal purposes like copying)
-#define EL_FIRST_INTERNAL                      (EL_FIRST_DUMMY + 37)
+#define EL_FIRST_INTERNAL                      (EL_FIRST_DUMMY + 38)
 
 #define EL_INTERNAL_CLIPBOARD_CUSTOM           (EL_FIRST_INTERNAL + 0)
 #define EL_INTERNAL_CLIPBOARD_CHANGE           (EL_FIRST_INTERNAL + 1)