X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=7cdf619a7478d12976b31bf5821a4f49190b09c3;hb=5ed4de42ced8e7dce5b786ba3d5fd1a6f6a7d7f6;hp=0dcb8b960b9cbeae97f6621f2feae45fbd63cdbf;hpb=19e168a132d1c0543a13cbf9495f579c137dea94;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 0dcb8b96..7cdf619a 100644 --- a/src/main.h +++ b/src/main.h @@ -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 @@ -204,6 +204,7 @@ typedef unsigned char byte; #define GAME_FRAME_DELAY 20 /* frame delay in milliseconds */ #define FFWD_FRAME_DELAY 10 /* 200% speed for fast forward */ #define FRAMES_PER_SECOND (1000 / GAME_FRAME_DELAY) +#define GADGET_FRAME_DELAY 150 /* delay between gadget actions */ struct HiScore { @@ -300,15 +301,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; @@ -390,6 +391,7 @@ extern char *joystick_device_name[]; extern char *program_name; extern int game_status; +extern boolean level_editor_test_game; extern boolean network_playing; extern int button_status; extern boolean motion_status; @@ -460,6 +462,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 +480,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 +1041,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 +1065,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 +1090,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 +1119,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