rnd-20030426-1-src
[rocksndiamonds.git] / src / main.h
index 6448eb4bed7a296376e6c3549f447d6222485936..212327620687aa67be87f174fe7b1bed66d5f324 100644 (file)
 #define EP_AMOEBALIVE          0
 #define EP_AMOEBOID            1
 #define EP_CAN_BE_CRUMBLED     2
-#define EP_PFORTE              3
-#define EP_SOLID               4
+#define EP_KEYGATE             3
+#define EP_HISTORIC_SOLID      4
 #define EP_INDESTRUCTIBLE      5
 #define EP_SLIPPERY            6
 #define EP_ENEMY               7
-#define EP_MAUER               8
+#define EP_HISTORIC_WALL       8
 #define EP_CAN_FALL            9
 #define EP_CAN_SMASH           10
 #define EP_CAN_CHANGE          11
 #define EP_SP_ELEMENT          44
 #define EP_HAS_CONTENT         45
 #define EP_TUBE                        46
+#define EP_WALL                        47
+#define EP_SOLID               48
+#define EP_DRAGONFIRE_PROOF    49
+#define EP_EXPLOSION_PROOF     50
 
-#define NUM_ELEMENT_PROPERTIES 47
+#define NUM_ELEMENT_PROPERTIES 51
 
 #define NUM_EP_BITFIELDS       ((NUM_ELEMENT_PROPERTIES + 31) / 32)
 #define EP_BITFIELD_BASE       0
 #define IS_AMOEBALIVE(e)       HAS_PROPERTY(e, EP_AMOEBALIVE)
 #define IS_AMOEBOID(e)         HAS_PROPERTY(e, EP_AMOEBOID)
 #define CAN_BE_CRUMBLED(e)     HAS_PROPERTY(e, EP_CAN_BE_CRUMBLED)
-#define IS_PFORTE(e)           HAS_PROPERTY(e, EP_PFORTE)
-#define IS_SOLID(e)            HAS_PROPERTY(e, EP_SOLID)
+#define IS_KEYGATE(e)          HAS_PROPERTY(e, EP_KEYGATE)
+#define IS_HISTORIC_SOLID(e)   HAS_PROPERTY(e, EP_HISTORIC_SOLID)
 #define IS_INDESTRUCTIBLE(e)   HAS_PROPERTY(e, EP_INDESTRUCTIBLE)
 #define IS_SLIPPERY(e)         HAS_PROPERTY(e, EP_SLIPPERY)
 #define IS_ENEMY(e)            HAS_PROPERTY(e, EP_ENEMY)
-#define IS_MAUER(e)            HAS_PROPERTY(e, EP_MAUER)
+#define IS_HISTORIC_WALL(e)    HAS_PROPERTY(e, EP_HISTORIC_WALL)
 #define CAN_FALL(e)            HAS_PROPERTY(e, EP_CAN_FALL)
 #define CAN_SMASH(e)           HAS_PROPERTY(e, EP_CAN_SMASH)
 #define CAN_CHANGE(e)          HAS_PROPERTY(e, EP_CAN_CHANGE)
 #define IS_SP_ELEMENT(e)       HAS_PROPERTY(e, EP_SP_ELEMENT)
 #define HAS_CONTENT(e)         HAS_PROPERTY(e, EP_HAS_CONTENT)
 #define IS_TUBE(e)             HAS_PROPERTY(e, EP_TUBE)
+#define IS_WALL(e)             HAS_PROPERTY(e, EP_WALL)
+#define IS_SOLID(e)            HAS_PROPERTY(e, EP_SOLID)
+#define IS_DRAGONFIRE_PROOF(e) HAS_PROPERTY(e, EP_DRAGONFIRE_PROOF)
+#define IS_EXPLOSION_PROOF(e)  HAS_PROPERTY(e, EP_EXPLOSION_PROOF)
 
 #define IS_CUSTOM_ELEMENT(e)   ((e) >= EL_CUSTOM_START &&      \
                                 (e) <= EL_CUSTOM_END)
 #define FONT_TITLE_2                           5
 #define FONT_MENU_1                            6
 #define FONT_MENU_2                            7
-#define FONT_TEXT_1                            8
-#define FONT_TEXT_2                            9
-#define FONT_TEXT_3                            10
-#define FONT_TEXT_4                            11
-#define FONT_INPUT_1                           12
-#define FONT_INPUT_1_ACTIVE                    13
-#define FONT_INPUT_2                           14
-#define FONT_INPUT_2_ACTIVE                    15
-#define FONT_OPTION_OFF                                16
-#define FONT_OPTION_ON                         17
-#define FONT_VALUE_1                           18
-#define FONT_VALUE_2                           19
-#define FONT_VALUE_OLD                         20
-#define FONT_LEVEL_NUMBER                      21
-#define FONT_TAPE_RECORDER                     22
-#define FONT_GAME_INFO                         23
-
-#define NUM_FONTS                              24
+#define FONT_TEXT_1_ACTIVE                     8
+#define FONT_TEXT_2_ACTIVE                     9
+#define FONT_TEXT_3_ACTIVE                     10
+#define FONT_TEXT_4_ACTIVE                     11
+#define FONT_TEXT_1                            12
+#define FONT_TEXT_2                            13
+#define FONT_TEXT_3                            14
+#define FONT_TEXT_4                            15
+#define FONT_INPUT_1_ACTIVE                    16
+#define FONT_INPUT_2_ACTIVE                    17
+#define FONT_INPUT_1                           18
+#define FONT_INPUT_2                           19
+#define FONT_OPTION_OFF                                20
+#define FONT_OPTION_ON                         21
+#define FONT_VALUE_1                           22
+#define FONT_VALUE_2                           23
+#define FONT_VALUE_OLD                         24
+#define FONT_LEVEL_NUMBER                      25
+#define FONT_TAPE_RECORDER                     26
+#define FONT_GAME_INFO                         27
+
+#define NUM_FONTS                              28
 #define NUM_INITIAL_FONTS                      4
 
 /* values for game_status */
 #define PROGRAM_VERSION_MAJOR  2
 #define PROGRAM_VERSION_MINOR  2
 #define PROGRAM_VERSION_PATCH  0
-#define PROGRAM_VERSION_STRING "2.2.0rc4"
+#define PROGRAM_VERSION_STRING "2.2.0rc7"
 
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"
@@ -1203,6 +1215,7 @@ extern short                      MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short                   Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern boolean                 Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];