rnd-19981214-2
[rocksndiamonds.git] / src / main.h
index 0dcb8b960b9cbeae97f6621f2feae45fbd63cdbf..8f2a6440e4f1d912de8a9ce3e5f45e8737f0eb7a 100644 (file)
@@ -48,8 +48,8 @@ typedef unsigned char boolean;
 typedef unsigned char byte;
 
 #ifndef FALSE
-#define FALSE 0
-#define TRUE (!FALSE)
+#define FALSE          0
+#define TRUE           (!FALSE)
 #endif
 
 #define WIN_XSIZE      672
@@ -300,15 +300,15 @@ struct PlayerInfo
   boolean gone, LevelSolved, GameOver;
   boolean snapped;
 
-  long move_delay;
+  unsigned long move_delay;
   int last_move_dir;
 
-  long push_delay;
-  int push_delay_value;
+  unsigned long push_delay;
+  unsigned long push_delay_value;
 
   int frame_reset_delay;
 
-  long actual_frame_counter;
+  unsigned long actual_frame_counter;
 
   int score;
   int gems_still_needed;
@@ -460,6 +460,8 @@ extern int          num_bg_loops;
 #define DY                     60
 #define VX                     DX
 #define VY                     400
+#define EX                     DX
+#define EY                     (VY - 44)
 #define TILEX                  32
 #define TILEY                  32
 #define MINI_TILEX             (TILEX/2)
@@ -476,6 +478,8 @@ extern int          num_bg_loops;
 #define DYSIZE                 280
 #define VXSIZE                 DXSIZE
 #define VYSIZE                 100
+#define EXSIZE                 DXSIZE
+#define EYSIZE                 (VXSIZE + 44)
 #define FULL_SXSIZE            (2+SXSIZE+2)
 #define FULL_SYSIZE            (2+SYSIZE+2)
 #define MICROLEV_XPOS          (SX+4*32+16)
@@ -1035,16 +1039,17 @@ extern int              num_bg_loops;
 #define FC_SPECIAL2            5
 
 /* values for game_status */
-#define MAINMENU               0
-#define PLAYING                        1
-#define LEVELED                        2
-#define HELPSCREEN             3
-#define CHOOSELEVEL            4
-#define TYPENAME               5
-#define HALLOFFAME             6
-#define SETUP                  7
-#define SETUPINPUT             8
-#define EXITGAME               9
+#define EXITGAME               0
+#define MAINMENU               1
+#define PLAYING                        2
+#define LEVELED                        3
+#define HELPSCREEN             4
+#define CHOOSELEVEL            5
+#define TYPENAME               6
+#define HALLOFFAME             7
+#define SETUP                  8
+#define SETUPINPUT             9
+#define CALIBRATION            10
 
 #ifndef GAME_DIR
 #define GAME_DIR               "."
@@ -1058,7 +1063,7 @@ extern int                num_bg_loops;
 #define TAPES_DIRECTORY                "tapes"
 #define SCORES_DIRECTORY       "scores"
 
-#define VERSION_STRING         "1.2 preview 1"
+#define VERSION_STRING         "1.2.0"
 #define GAMETITLE_STRING       "Rocks'n'Diamonds"
 #define WINDOWTITLE_STRING     GAMETITLE_STRING " " VERSION_STRING
 #define COPYRIGHT_STRING       "Copyright ^1995-98 by Holger Schemel"
@@ -1083,17 +1088,18 @@ extern int              num_bg_loops;
 #endif
 
 /* values for redraw_mask */
-#define REDRAW_ALL             (1L<<0)
-#define REDRAW_FIELD           (1L<<1)
-#define REDRAW_TILES           (1L<<2)
-#define REDRAW_DOOR_1          (1L<<3)
-#define REDRAW_VIDEO_1         (1L<<4)
-#define REDRAW_VIDEO_2         (1L<<5)
-#define REDRAW_VIDEO_3         (1L<<6)
-#define REDRAW_MICROLEV                (1L<<7)
-#define REDRAW_FROM_BACKBUFFER (1L<<8)
+#define REDRAW_ALL             (1L << 0)
+#define REDRAW_FIELD           (1L << 1)
+#define REDRAW_TILES           (1L << 2)
+#define REDRAW_DOOR_1          (1L << 3)
+#define REDRAW_VIDEO_1         (1L << 4)
+#define REDRAW_VIDEO_2         (1L << 5)
+#define REDRAW_VIDEO_3         (1L << 6)
+#define REDRAW_MICROLEV                (1L << 7)
+#define REDRAW_FROM_BACKBUFFER (1L << 8)
 #define REDRAW_DOOR_2  (REDRAW_VIDEO_1 | REDRAW_VIDEO_2 | REDRAW_VIDEO_3)
-#define REDRAW_DOORS   (REDRAW_DOOR_1 | REDRAW_DOOR_2)
+#define REDRAW_DOOR_3          (1L << 9)
+#define REDRAW_DOORS   (REDRAW_DOOR_1 | REDRAW_DOOR_2 | REDRAW_DOOR_3)
 #define REDRAW_MAIN    (REDRAW_FIELD | REDRAW_TILES | REDRAW_MICROLEV)
 #define REDRAWTILES_THRESHOLD  SCR_FIELDX*SCR_FIELDY/2
 
@@ -1111,6 +1117,8 @@ extern int                num_bg_loops;
 #define DOOR_GFX_PAGEX4                (3 * DOOR_GFX_PAGESIZE)
 #define DOOR_GFX_PAGEX5                (4 * DOOR_GFX_PAGESIZE)
 #define DOOR_GFX_PAGEX6                (5 * DOOR_GFX_PAGESIZE)
+#define DOOR_GFX_PAGEX7                (6 * DOOR_GFX_PAGESIZE)
+#define DOOR_GFX_PAGEX8                (7 * DOOR_GFX_PAGESIZE)
 #define DOOR_GFX_PAGEY1                0
 #define DOOR_GFX_PAGEY2                DYSIZE