rnd-19990104-1
[rocksndiamonds.git] / src / main.h
index 892c7899a93b77d140feaf70f3b9dcfff113a7ae..26251e847bdb997d14cdd29d87bff2c0945593fe 100644 (file)
@@ -124,6 +124,7 @@ typedef unsigned char byte;
 #define EP_BIT_PLAYER          (1 << 25)
 #define EP_BIT_HAS_CONTENT     (1 << 26)
 #define EP_BIT_EATABLE         (1 << 27)
+#define EP_BIT_SP_ELEMENT      (1 << 28)
 
 #define IS_AMOEBALIVE(e)       (Elementeigenschaften[e] & EP_BIT_AMOEBALIVE)
 #define IS_AMOEBOID(e)         (Elementeigenschaften[e] & EP_BIT_AMOEBOID)
@@ -153,6 +154,7 @@ typedef unsigned char byte;
 #define ELEM_IS_PLAYER(e)      (Elementeigenschaften[e] & EP_BIT_PLAYER)
 #define HAS_CONTENT(e)         (Elementeigenschaften[e] & EP_BIT_HAS_CONTENT)
 #define IS_EATABLE(e)          (Elementeigenschaften[e] & EP_BIT_EATABLE)
+#define IS_SP_ELEMENT(e)       (Elementeigenschaften[e] & EP_BIT_SP_ELEMENT)
 
 #define IS_PLAYER(x,y)         (ELEM_IS_PLAYER(StorePlayer[x][y]))
 
@@ -347,6 +349,8 @@ struct LevelDirInfo
   char *filename;
   char *name;
   int levels;
+  int first_level;
+  int last_level;
   int sort_priority;
   boolean user_defined;
   boolean readonly;
@@ -520,7 +524,7 @@ extern int          num_bg_loops;
 #define MINI_MORE_STARTY       160
 #define MICRO_MORE_STARTX      0
 #define MICRO_MORE_STARTY      208
-#define MORE_PER_LINE          8
+#define MORE_PER_LINE          16
 #define MINI_MORE_PER_LINE     16
 #define MICRO_MORE_PER_LINE    16
 #define FONT_CHARS_PER_LINE    16
@@ -698,6 +702,8 @@ extern int          num_bg_loops;
 #define EL_CHAR_COPY           (EL_CHAR_ASCII0+94)
 #define EL_CHAR_END            (EL_CHAR_START+79)
 
+#define EL_CHAR(x)             (EL_CHAR_A + x - 'A')
+
 #define EL_MAUER_X             200
 #define EL_MAUER_Y             201
 #define EL_MAUER_XY            202
@@ -782,22 +788,22 @@ extern int                num_bg_loops;
 #define EL_PLAYER_IS_LEAVING   408
 
 /* game graphics:
-**       0 - 209: graphics from "RocksScreen"
-**     210 - 255: graphics from "RocksMore"
-**     256 - 511: graphics from "RocksFont"
-**     512 - 767: graphics from "RocksHeroes"
+**       0 -  255: graphics from "RocksScreen"
+**     256 -  511: graphics from "RocksFont"
+**     512 -  767: graphics from "RocksMore"
+**     768 - 1023: graphics from "RocksHeroes"
 */
 
 #define GFX_START_ROCKSSCREEN  0
-#define GFX_END_ROCKSSCREEN    209
-#define GFX_START_ROCKSMORE    210
-#define GFX_END_ROCKSMORE      255
+#define GFX_END_ROCKSSCREEN    255
 #define GFX_START_ROCKSFONT    256
 #define GFX_END_ROCKSFONT      511
-#define GFX_START_ROCKSHEROES  512
-#define GFX_END_ROCKSHEROES    767
+#define GFX_START_ROCKSMORE    512
+#define GFX_END_ROCKSMORE      767
+#define GFX_START_ROCKSHEROES  768
+#define GFX_END_ROCKSHEROES    1023
 
-#define NUM_TILES              768
+#define NUM_TILES              1024
 
 /* graphics from "RocksScreen" */
 /* Zeile 0 (0) */
@@ -1054,6 +1060,17 @@ extern int               num_bg_loops;
 #define GFX_SP_CHIP_UPPER      (GFX_START_ROCKSMORE +  4 * MORE_PER_LINE + 6)
 #define GFX_SP_CHIP_LOWER      (GFX_START_ROCKSMORE +  4 * MORE_PER_LINE + 7)
 
+#define GFX_SP_EXPLODE_EMPTY   (GFX_START_ROCKSMORE +  3 * MORE_PER_LINE + 8)
+#define GFX_SP_EXPLODE_INFOTRON        (GFX_START_ROCKSMORE +  4 * MORE_PER_LINE + 8)
+#define GFX_SP_SNIKSNAK_LEFT   (GFX_START_ROCKSMORE +  8 * MORE_PER_LINE + 8)
+#define GFX_SP_SNIKSNAK_RIGHT  (GFX_START_ROCKSMORE +  8 * MORE_PER_LINE +12)
+#define GFX_SP_SNIKSNAK_UP     (GFX_START_ROCKSMORE +  9 * MORE_PER_LINE + 8)
+#define GFX_SP_SNIKSNAK_DOWN   (GFX_START_ROCKSMORE +  9 * MORE_PER_LINE +12)
+
+#define GFX2_SP_ELECTRON       (GFX_START_ROCKSMORE + 10 * MORE_PER_LINE + 8)
+#define GFX2_SP_TERMINAL       (GFX_START_ROCKSMORE + 11 * MORE_PER_LINE + 8)
+#define GFX2_SP_TERMINAL_ACTIVE        (GFX_START_ROCKSMORE + 12 * MORE_PER_LINE + 8)
+
 /* graphics from "RocksFont" */
 #define GFX_CHAR_START         (GFX_START_ROCKSFONT)
 #define GFX_CHAR_ASCII0                (GFX_CHAR_START-32)
@@ -1196,10 +1213,10 @@ extern int              num_bg_loops;
 #define TAPES_DIRECTORY                "tapes"
 #define SCORES_DIRECTORY       "scores"
 
-#define VERSION_STRING         "1.2.0"
+#define VERSION_STRING         "1.2.1"
 #define GAMETITLE_STRING       "Rocks'n'Diamonds"
 #define WINDOWTITLE_STRING     GAMETITLE_STRING " " VERSION_STRING
-#define COPYRIGHT_STRING       "Copyright ^1995-98 by Holger Schemel"
+#define COPYRIGHT_STRING       "Copyright ^1995-99 by Holger Schemel"
 
 /* default name for empty highscore entry */
 #define EMPTY_PLAYER_NAME      "no name"