fixed mapping level file game elements between RND and MM formats (again)
[rocksndiamonds.git] / src / game_mm / mm_main.h
index 98950edc21394fab6dd4c62d5d2122466cee92fa..f20a412daa179a555758249f29ffd978580c1ce5 100644 (file)
@@ -316,6 +316,9 @@ extern int          num_element_info;
 **      500 - 699: flag elements, only used at runtime
 */
 /* "real" level elements */
+#define EL_MM_START            0
+#define EL_MM_START_1          EL_MM_START
+
 #define EL_EMPTY               0
 #define EL_MIRROR_START                1
 #define EL_MIRROR_00           (EL_MIRROR_START + 0)
@@ -450,6 +453,8 @@ extern int          num_element_info;
 #define EL_GRID_WOOD_END       EL_GRID_WOOD_03
 #define EL_FUEL_EMPTY          155
 
+#define EL_MM_END_1            155
+
 #define EL_CHAR_START          160
 #define EL_CHAR_ASCII0         (EL_CHAR_START-32)
 #define EL_CHAR_AUSRUF         (EL_CHAR_ASCII0+33)
@@ -489,8 +494,10 @@ extern int         num_element_info;
                                 (x) == CHAR_BYTE_UMLAUT_U ? EL_CHAR_UE : \
                                 EL_CHAR_A + (x) - 'A')
 
+#define EL_MM_START_2          240
+
 /* elements for "Deflektor" style levels */
-#define EL_DF_START            240
+#define EL_DF_START            EL_MM_START_2
 
 #define EL_DF_MIRROR_START     EL_DF_START
 #define EL_DF_MIRROR_00                (EL_DF_MIRROR_START + 0)
@@ -625,42 +632,52 @@ extern int                num_element_info;
 #define EL_BEAMER_BLUE_START   404
 #define EL_BEAMER_BLUE_END     (EL_BEAMER_BLUE_START + 15)
 
+/* (currently unused, but potentially useful element definitions) */
+#define EL_MCDUFFIN            420
+#define EL_PACMAN              421
+#define EL_FUSE_OFF            422
+#define EL_STEEL_WALL          423
+#define EL_WOODEN_WALL         424
+#define EL_ICE_WALL            425
+#define EL_AMOEBA_WALL         426
+#define EL_LASER               427
+#define EL_RECEIVER            428
+#define EL_DF_STEEL_WALL       429
+#define EL_DF_WOODEN_WALL      430
+
+#define EL_MM_END_2            430
+#define EL_MM_END              EL_MM_END_2
+
 /* "real" (and therefore drawable) runtime elements */
-#define EL_FIRST_RUNTIME_EL    500
-#define EL_FUSE_OFF            501
-#define EL_PACMAN              502
-#define EL_EXIT_OPENING                503
-#define EL_GRAY_BALL_OPENING   504
+#define EL_EXIT_OPENING                500
+#define EL_EXIT_CLOSING                501
+#define EL_GRAY_BALL_OPENING   502
+#define EL_ICE_WALL_SHRINKING  503
+#define EL_AMOEBA_WALL_GROWING 504
 
 #define EL_WALL_CHANGING       512
 #define EL_WALL_CHANGING_START (EL_WALL_CHANGING + 0)
 #define EL_WALL_CHANGING_END   (EL_WALL_CHANGING + 15)
 
-#if 0
-#define EL_MIRROR              5
-#define EL_GRID_STEEL          5
-#define EL_MCDUFFIN            5
-#define EL_BEAMER              5
-#define EL_POLAR               5
-#define EL_POLAR_CROSS         5
-#define EL_MIRROR_FIXED                5
-#define EL_GRID_WOOD           5
-#define EL_DF_MIRROR           5
-#define EL_GRID_WOOD_FIXED     5
-#define EL_GRID_STEEL_FIXED    5
-#define EL_LASER               5
-#define EL_RECEIVER            5
-#define EL_FIBRE_OPTIC         5
-#define EL_DF_MIRROR_AUTO      5
-#define EL_GRID_WOOD_AUTO      5
-#define EL_GRID_STEEL_AUTO     5
-#endif
+#define EL_FIRST_RUNTIME_EL    EL_EXIT_OPENING
 
 /* "unreal" (and therefore not drawable) runtime elements */
 #define EL_BLOCKED             600
 #define EL_EXPLODING_OPAQUE    601
 #define EL_EXPLODING_TRANSP    602
 
+/* dummy elements (never used as game elements, only used as graphics) */
+#define EL_MM_MASK_MCDUFFIN_RIGHT      700
+#define EL_MM_MASK_MCDUFFIN_UP         701
+#define EL_MM_MASK_MCDUFFIN_LEFT       702
+#define EL_MM_MASK_MCDUFFIN_DOWN       703
+#define EL_MM_MASK_GRID_1              704
+#define EL_MM_MASK_GRID_2              705
+#define EL_MM_MASK_GRID_3              706
+#define EL_MM_MASK_GRID_4              707
+#define EL_MM_MASK_RECTANGE            708
+#define EL_MM_MASK_CIRCLE              709
+
 
 /* game graphics:
 **       0 -  191: graphics from "MirrorScreen"
@@ -669,6 +686,8 @@ extern int          num_element_info;
 **     512 -  767: graphics from "MirrorDF"
 */
 
+#define IMG_EMPTY              IMG_EMPTY_SPACE
+
 #define GFX_START_MIRRORSCREEN 0
 #define GFX_END_MIRRORSCREEN   191
 #define GFX_START_PSEUDO       192
@@ -1079,10 +1098,10 @@ extern int              num_element_info;
 #define MSDOS_POINTER_FILENAME "mouse.pcx"
 
 /* functions for version handling */
-#define MM_VERSION_IDENT(x,y,z)        ((x) * 10000 + (y) * 100 + (z))
-#define MM_VERSION_MAJOR(x)    ((x) / 10000)
-#define MM_VERSION_MINOR(x)    (((x) % 10000) / 100)
-#define MM_VERSION_PATCH(x)    ((x) % 100)
+#define MM_VERSION_IDENT(x,y,z)        VERSION_IDENT(x,y,z,0)
+#define MM_VERSION_MAJOR(x)    VERSION_MAJOR(x)
+#define MM_VERSION_MINOR(x)    VERSION_MINOR(x)
+#define MM_VERSION_PATCH(x)    VERSION_PATCH(x)
 
 /* file version numbers for resource files (levels, score, setup, etc.)
 ** currently supported/known file version numbers: