rnd-20010120-3-src
[rocksndiamonds.git] / src / main.h
index 20ff081c86b94980aea818d47d48f6679c9fc81a..f82ff3336500ed7b7be233bc7200eaf1e44875fc 100644 (file)
@@ -319,6 +319,8 @@ struct PlayerInfo
 
 struct LevelInfo
 {
+  int file_version;    /* version of file this level was stored with */
+  int game_version;    /* version of game engine to play this level */
   int fieldx;
   int fieldy;
   int time;
@@ -340,6 +342,9 @@ struct LevelInfo
 
 struct TapeInfo
 {
+  int file_version;    /* version of file this level tape was stored with */
+  int game_version;    /* version of game engine to play this tapeĀ“s level */
+  int version;
   int level_nr;
   unsigned long random_seed;
   unsigned long date;
@@ -361,6 +366,7 @@ struct TapeInfo
 
 struct GameInfo
 {
+  int version;
   int emulation;
   int yam_content_nr;
   boolean magic_wall_active;
@@ -901,6 +907,9 @@ extern int          num_element_info;
 #define EL_TRAP_ACTIVE         522
 #define EL_SPRING_MOVING       523
 #define EL_SP_MURPHY_CLONE     524
+#define EL_QUICKSAND_EMPTYING  525
+#define EL_MAGIC_WALL_EMPTYING 526
+#define EL_MAGIC_WALL_BD_EMPTYING 527
 
 /* "unreal" (and therefore not drawable) runtime elements */
 #define EL_BLOCKED             600
@@ -913,6 +922,9 @@ extern int          num_element_info;
 #define EL_MAUERND             607
 #define EL_BURNING             608
 #define EL_PLAYER_IS_LEAVING   609
+#define EL_QUICKSAND_FILLING   610
+#define EL_MAGIC_WALL_FILLING  611
+#define EL_MAGIC_WALL_BD_FILLING 612
 
 /* game graphics:
 **       0 -  255: graphics from "RocksScreen"
@@ -1525,6 +1537,24 @@ extern int               num_element_info;
 #define X11_ICONMASK_FILENAME  "rocks_iconmask.xbm"
 #define MSDOS_POINTER_FILENAME "mouse.pcx"
 
+/* file version numbers for resource files (levels, tapes, score, setup, etc.)
+** currently supported/known file version numbers:
+**     1.0 (old)
+**     1.2 (still in use)
+**     1.4 (still in use)
+**     2.0 (actual)
+*/
+#define FILE_VERSION_1_0       10
+#define FILE_VERSION_1_2       12
+#define FILE_VERSION_1_4       14
+#define FILE_VERSION_2_0       20
+#define FILE_VERSION_ACTUAL    FILE_VERSION_2_0
+#define GAME_VERSION_1_0       FILE_VERSION_1_0
+#define GAME_VERSION_1_2       FILE_VERSION_1_2
+#define GAME_VERSION_1_4       FILE_VERSION_1_4
+#define GAME_VERSION_2_0       FILE_VERSION_2_0
+#define GAME_VERSION_ACTUAL    GAME_VERSION_2_0
+
 /* for DrawGraphicAnimation() [tools.c] and AnimateToon() [cartoons.c] */
 #define ANIM_NORMAL            0
 #define ANIM_OSCILLATE         1