X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=23c90c523bf6034d92060ae67c22dd897db51abc;hb=47572a41886623747cb380fc127a814d00028c6f;hp=e440a8ee18cce9192d0c58b9aa6904119a58c64b;hpb=ad15815ec04f42779d0717a6d291f93b8e847d39;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index e440a8ee..23c90c52 100644 --- a/src/main.h +++ b/src/main.h @@ -359,7 +359,7 @@ #define PLAYER_PROTECTED(x,y) (SHIELD_ON(PLAYERINFO(x, y)) || \ PROTECTED_FIELD(x, y)) -#define PLAYER_SWITCHING(p,x,y) ((p)->Switching && \ +#define PLAYER_SWITCHING(p,x,y) ((p)->is_switching && \ (p)->switch_x == (x) && (p)->switch_y == (y)) #define PLAYER_NR_GFX(g,i) ((g) + i * (IMG_PLAYER_2 - IMG_PLAYER_1)) @@ -915,9 +915,13 @@ #define ACTION_CHANGING 23 #define ACTION_EXPLODING 24 #define ACTION_DYING 25 -#define ACTION_OTHER 26 +#define ACTION_XXX_LEFT 26 +#define ACTION_XXX_RIGHT 27 +#define ACTION_XXX_UP 28 +#define ACTION_XXX_DOWN 29 +#define ACTION_OTHER 30 -#define NUM_ACTIONS 27 +#define NUM_ACTIONS 31 /* values for special image configuration suffixes (must match game mode) */ #define GFX_SPECIAL_ARG_MAIN 0 @@ -1029,16 +1033,22 @@ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 0 #define PROGRAM_VERSION_PATCH 7 -#define PROGRAM_VERSION_RELEASE 0 +#define PROGRAM_VERSION_BUILD 1 + +#if 0 #define PROGRAM_VERSION_STRING "3.0.7" +#endif #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" -#define PROGRAM_RIGHTS_STRING "Copyright ©1995-2003 by" +#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2003 by Holger Schemel" + +#if 0 #define PROGRAM_DOS_PORT_STRING "DOS port done by Guido Schulz" #define PROGRAM_IDENT_STRING PROGRAM_VERSION_STRING " " TARGET_STRING #define WINDOW_TITLE_STRING PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING -#define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING +#endif + #define ICON_TITLE_STRING PROGRAM_TITLE_STRING #define COOKIE_PREFIX "ROCKSNDIAMONDS" #define FILENAME_PREFIX "Rocks" @@ -1062,10 +1072,10 @@ ** 1.4 (still in use) ** 2.0 (actual) */ -#define FILE_VERSION_1_0 VERSION_IDENT(1,0,0) -#define FILE_VERSION_1_2 VERSION_IDENT(1,2,0) -#define FILE_VERSION_1_4 VERSION_IDENT(1,4,0) -#define FILE_VERSION_2_0 VERSION_IDENT(2,0,0) +#define FILE_VERSION_1_0 VERSION_IDENT(1,0,0,0) +#define FILE_VERSION_1_2 VERSION_IDENT(1,2,0,0) +#define FILE_VERSION_1_4 VERSION_IDENT(1,4,0,0) +#define FILE_VERSION_2_0 VERSION_IDENT(2,0,0,0) /* file version does not change for every program version, but is changed when new features are introduced that are incompatible with older file @@ -1077,10 +1087,10 @@ #define GAME_VERSION_1_4 FILE_VERSION_1_4 #define GAME_VERSION_2_0 FILE_VERSION_2_0 -#define GAME_VERSION_ACTUAL RELEASE_IDENT(PROGRAM_VERSION_MAJOR, \ +#define GAME_VERSION_ACTUAL VERSION_IDENT(PROGRAM_VERSION_MAJOR, \ PROGRAM_VERSION_MINOR, \ PROGRAM_VERSION_PATCH, \ - PROGRAM_VERSION_RELEASE) + PROGRAM_VERSION_BUILD) /* values for game_emulation */ #define EMU_NONE 0 @@ -1136,20 +1146,20 @@ struct PlayerInfo int GfxAction; boolean use_murphy_graphic; - boolean use_disk_red_graphic; - boolean Pushing; - boolean Switching; boolean LevelSolved, GameOver; - boolean snapped; - - int switch_x, switch_y; int last_move_dir; - boolean is_moving; + boolean is_waiting; + boolean is_moving; boolean is_digging; + boolean is_snapping; boolean is_collecting; + boolean is_pushing; + boolean is_switching; + + int switch_x, switch_y; int show_envelope; @@ -1246,11 +1256,16 @@ struct TapeInfo struct GameInfo { + /* values for engine initialization */ + int default_push_delay_fixed; + int default_push_delay_random; + /* constant within running game */ int engine_version; int emulation; int initial_move_delay; int initial_move_delay_value; + int initial_push_delay_value; /* variable within running game */ int yamyam_content_nr; @@ -1478,6 +1493,7 @@ extern short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short ChangeDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern short ChangePage[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; @@ -1486,7 +1502,8 @@ extern boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern boolean Pushed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern unsigned long Changed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern unsigned long ChangeEvent[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -extern short JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern short WasJustMoving[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern short WasJustFalling[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaCnt[MAX_NUM_AMOEBA]; extern short AmoebaCnt2[MAX_NUM_AMOEBA]; @@ -1496,9 +1513,10 @@ extern short ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern unsigned long Properties[MAX_NUM_ELEMENTS][NUM_EP_BITFIELDS]; extern int GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -extern int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern int GfxRandom[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern int GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern int GfxDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern int lev_fieldx, lev_fieldy; extern int scroll_x, scroll_y;