X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=803f0a0e53db82d8dc8375f61f374595acb469d3;hb=bdb8ad7e1d4d7e4531e1e5e584a297820d302a00;hp=9239810f58fa7f79009607aabd5d9cc0173683ef;hpb=27205a1ec1f3a21ed1b9693ec3fd8a55442b79db;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 9239810f..803f0a0e 100644 --- a/src/main.h +++ b/src/main.h @@ -96,6 +96,7 @@ #define EP_BIT_BELT (1 << 0) #define EP_BIT_BELT_SWITCH (1 << 1) #define EP_BIT_TUBE (1 << 2) +#define EP_BIT_SLIPPERY_GEMS (1 << 3) #define IS_AMOEBALIVE(e) (Elementeigenschaften1[e] & EP_BIT_AMOEBALIVE) #define IS_AMOEBOID(e) (Elementeigenschaften1[e] & EP_BIT_AMOEBOID) @@ -132,6 +133,7 @@ #define IS_BELT(e) (Elementeigenschaften2[e] & EP_BIT_BELT) #define IS_BELT_SWITCH(e) (Elementeigenschaften2[e] & EP_BIT_BELT_SWITCH) #define IS_TUBE(e) (Elementeigenschaften2[e] & EP_BIT_TUBE) +#define IS_SLIPPERY_GEMS(e) (Elementeigenschaften2[e] & EP_BIT_SLIPPERY_GEMS) #define IS_PLAYER(x,y) (ELEM_IS_PLAYER(StorePlayer[x][y])) @@ -297,6 +299,7 @@ struct PlayerInfo int move_delay_value; int last_move_dir; + int is_moving; unsigned long push_delay; unsigned long push_delay_value; @@ -319,8 +322,12 @@ 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 file_version; /* version of file the level was stored with */ + int game_version; /* version of game engine to play this level */ + boolean encoding_16bit_field; /* level contains 16-bit elements */ + boolean encoding_16bit_yamyam; /* yamyam contains 16-bit elements */ + boolean encoding_16bit_amoeba; /* amoeba contains 16-bit elements */ + int fieldx; int fieldy; int time; @@ -377,6 +384,7 @@ struct GameInfo int belt_dir_nr[4]; int switchgate_pos; int balloon_dir; + boolean explosions_delayed; }; struct GlobalInfo @@ -418,6 +426,7 @@ extern boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaCnt[MAX_NUM_AMOEBA], AmoebaCnt2[MAX_NUM_AMOEBA]; +extern short ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern unsigned long Elementeigenschaften1[MAX_ELEMENTS]; extern unsigned long Elementeigenschaften2[MAX_ELEMENTS]; @@ -907,8 +916,10 @@ extern int num_element_info; #define EL_TRAP_ACTIVE 522 #define EL_SPRING_MOVING 523 #define EL_SP_MURPHY_CLONE 524 -#define EL_QUICKSAND_FILLING 525 -#define EL_QUICKSAND_DROPPING 526 +#define EL_QUICKSAND_EMPTYING 525 +#define EL_MAGIC_WALL_EMPTYING 526 +#define EL_MAGIC_WALL_BD_EMPTYING 527 +#define EL_AMOEBA_DRIPPING 528 /* "unreal" (and therefore not drawable) runtime elements */ #define EL_BLOCKED 600 @@ -921,6 +932,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" @@ -1518,7 +1532,7 @@ extern int num_element_info; #define SETUPINPUT 9 #define CALIBRATION 10 -#define PROGRAM_VERSION_STRING "2.0.0" +#define PROGRAM_VERSION_STRING "2.0.1" #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" #define PROGRAM_RIGHTS_STRING "Copyright ^1995-2001 by"