X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=f4243bf685b651c43b517eb0281993528cf8275a;hb=c956237d7c5507aea649ce7b20c00d7bd9d37a7a;hp=2d5910757ccec644e94ab7e673cb12adbacf178f;hpb=7d76e4299f6171909990d2ba2f1f6a2b382d9cf3;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 2d591075..f4243bf6 100644 --- a/src/main.h +++ b/src/main.h @@ -64,12 +64,12 @@ #define EP_AMOEBALIVE 0 #define EP_AMOEBOID 1 #define EP_CAN_BE_CRUMBLED 2 -#define EP_PFORTE 3 -#define EP_SOLID 4 +#define EP_KEYGATE 3 +#define EP_HISTORIC_SOLID 4 #define EP_INDESTRUCTIBLE 5 #define EP_SLIPPERY 6 #define EP_ENEMY 7 -#define EP_MAUER 8 +#define EP_HISTORIC_WALL 8 #define EP_CAN_FALL 9 #define EP_CAN_SMASH 10 #define EP_CAN_CHANGE 11 @@ -88,21 +88,21 @@ #define EP_PUSHABLE 24 #define EP_PLAYER 25 #define EP_WALKABLE_OVER 26 -#define EP_WALKABLE_THROUGH 27 +#define EP_WALKABLE_INSIDE 27 #define EP_WALKABLE_UNDER 28 #define EP_PASSABLE_OVER 29 -#define EP_PASSABLE_THROUGH 30 +#define EP_PASSABLE_INSIDE 30 #define EP_PASSABLE_UNDER 31 /* values for runtime properties (non-storable) */ -#define EP_WALKABLE 32 -#define EP_PASSABLE 33 -#define EP_PLAYER_OVER 34 -#define EP_PLAYER_INSIDE 35 -#define EP_PLAYER_UNDER 36 -#define EP_DIGGABLE 37 -#define EP_COLLECTIBLE 38 -#define EP_OVER_PLAYER 39 +#define EP_ACCESSIBLE_OVER 32 +#define EP_ACCESSIBLE_INSIDE 33 +#define EP_ACCESSIBLE_UNDER 34 +#define EP_WALKABLE 35 +#define EP_PASSABLE 36 +#define EP_ACCESSIBLE 37 +#define EP_DIGGABLE 38 +#define EP_COLLECTIBLE 39 #define EP_ACTIVE_BOMB 40 #define EP_BELT 41 #define EP_BELT_ACTIVE 42 @@ -110,8 +110,9 @@ #define EP_SP_ELEMENT 44 #define EP_HAS_CONTENT 45 #define EP_TUBE 46 +#define EP_WALL 47 -#define NUM_ELEMENT_PROPERTIES 47 +#define NUM_ELEMENT_PROPERTIES 48 #define NUM_EP_BITFIELDS ((NUM_ELEMENT_PROPERTIES + 31) / 32) #define EP_BITFIELD_BASE 0 @@ -129,12 +130,12 @@ #define IS_AMOEBALIVE(e) HAS_PROPERTY(e, EP_AMOEBALIVE) #define IS_AMOEBOID(e) HAS_PROPERTY(e, EP_AMOEBOID) #define CAN_BE_CRUMBLED(e) HAS_PROPERTY(e, EP_CAN_BE_CRUMBLED) -#define IS_PFORTE(e) HAS_PROPERTY(e, EP_PFORTE) -#define IS_SOLID(e) HAS_PROPERTY(e, EP_SOLID) +#define IS_KEYGATE(e) HAS_PROPERTY(e, EP_KEYGATE) +#define IS_HISTORIC_SOLID(e) HAS_PROPERTY(e, EP_HISTORIC_SOLID) #define IS_INDESTRUCTIBLE(e) HAS_PROPERTY(e, EP_INDESTRUCTIBLE) #define IS_SLIPPERY(e) HAS_PROPERTY(e, EP_SLIPPERY) #define IS_ENEMY(e) HAS_PROPERTY(e, EP_ENEMY) -#define IS_MAUER(e) HAS_PROPERTY(e, EP_MAUER) +#define IS_HISTORIC_WALL(e) HAS_PROPERTY(e, EP_HISTORIC_WALL) #define CAN_FALL(e) HAS_PROPERTY(e, EP_CAN_FALL) #define CAN_SMASH(e) HAS_PROPERTY(e, EP_CAN_SMASH) #define CAN_CHANGE(e) HAS_PROPERTY(e, EP_CAN_CHANGE) @@ -153,21 +154,21 @@ #define IS_PUSHABLE(e) HAS_PROPERTY(e, EP_PUSHABLE) #define ELEM_IS_PLAYER(e) HAS_PROPERTY(e, EP_PLAYER) #define IS_WALKABLE_OVER(e) HAS_PROPERTY(e, EP_WALKABLE_OVER) -#define IS_WALKABLE_THROUGH(e) HAS_PROPERTY(e, EP_WALKABLE_THROUGH) +#define IS_WALKABLE_INSIDE(e) HAS_PROPERTY(e, EP_WALKABLE_INSIDE) #define IS_WALKABLE_UNDER(e) HAS_PROPERTY(e, EP_WALKABLE_UNDER) #define IS_PASSABLE_OVER(e) HAS_PROPERTY(e, EP_PASSABLE_OVER) -#define IS_PASSABLE_THROUGH(e) HAS_PROPERTY(e, EP_PASSABLE_THROUGH) +#define IS_PASSABLE_INSIDE(e) HAS_PROPERTY(e, EP_PASSABLE_INSIDE) #define IS_PASSABLE_UNDER(e) HAS_PROPERTY(e, EP_PASSABLE_UNDER) /* macros for runtime properties */ +#define IS_ACCESSIBLE_OVER(e) HAS_PROPERTY(e, EP_ACCESSIBLE_OVER) +#define IS_ACCESSIBLE_INSIDE(e) HAS_PROPERTY(e, EP_ACCESSIBLE_INSIDE) +#define IS_ACCESSIBLE_UNDER(e) HAS_PROPERTY(e, EP_ACCESSIBLE_UNDER) #define IS_WALKABLE(e) HAS_PROPERTY(e, EP_WALKABLE) #define IS_PASSABLE(e) HAS_PROPERTY(e, EP_PASSABLE) -#define IS_PLAYER_OVER(e) HAS_PROPERTY(e, EP_PLAYER_OVER) -#define IS_PLAYER_INSIDE(e) HAS_PROPERTY(e, EP_PLAYER_INSIDE) -#define IS_PLAYER_UNDER(e) HAS_PROPERTY(e, EP_PLAYER_UNDER) +#define IS_ACCESSIBLE(e) HAS_PROPERTY(e, EP_ACCESSIBLE) #define IS_DIGGABLE(e) HAS_PROPERTY(e, EP_DIGGABLE) #define IS_COLLECTIBLE(e) HAS_PROPERTY(e, EP_COLLECTIBLE) -#define IS_OVER_PLAYER(e) HAS_PROPERTY(e, EP_OVER_PLAYER) #define IS_ACTIVE_BOMB(e) HAS_PROPERTY(e, EP_ACTIVE_BOMB) #define IS_BELT(e) HAS_PROPERTY(e, EP_BELT) #define IS_BELT_ACTIVE(e) HAS_PROPERTY(e, EP_BELT_ACTIVE) @@ -175,6 +176,7 @@ #define IS_SP_ELEMENT(e) HAS_PROPERTY(e, EP_SP_ELEMENT) #define HAS_CONTENT(e) HAS_PROPERTY(e, EP_HAS_CONTENT) #define IS_TUBE(e) HAS_PROPERTY(e, EP_TUBE) +#define IS_WALL(e) HAS_PROPERTY(e, EP_WALL) #define IS_CUSTOM_ELEMENT(e) ((e) >= EL_CUSTOM_START && \ (e) <= EL_CUSTOM_END) @@ -205,7 +207,7 @@ #define PLAYERINFO(x,y) (&stored_player[StorePlayer[x][y]-EL_PLAYER_1]) #define SHIELD_ON(p) ((p)->shield_normal_time_left > 0) -#define PROTECTED_FIELD(x,y) (IS_WALKABLE_THROUGH(Feld[x][y]) && \ +#define PROTECTED_FIELD(x,y) (IS_ACCESSIBLE_INSIDE(Feld[x][y]) && \ IS_INDESTRUCTIBLE(Feld[x][y])) #define PLAYER_PROTECTED(x,y) (SHIELD_ON(PLAYERINFO(x, y)) || \ PROTECTED_FIELD(x, y)) @@ -844,10 +846,10 @@ #define FONT_TEXT_2 9 #define FONT_TEXT_3 10 #define FONT_TEXT_4 11 -#define FONT_INPUT_1 12 -#define FONT_INPUT_1_ACTIVE 13 -#define FONT_INPUT_2 14 -#define FONT_INPUT_2_ACTIVE 15 +#define FONT_INPUT_1_ACTIVE 12 +#define FONT_INPUT_1 13 +#define FONT_INPUT_2_ACTIVE 14 +#define FONT_INPUT_2 15 #define FONT_OPTION_OFF 16 #define FONT_OPTION_ON 17 #define FONT_VALUE_1 18 @@ -876,7 +878,7 @@ #define PROGRAM_VERSION_MAJOR 2 #define PROGRAM_VERSION_MINOR 2 #define PROGRAM_VERSION_PATCH 0 -#define PROGRAM_VERSION_STRING "2.2.0rc4" +#define PROGRAM_VERSION_STRING "2.2.0rc7" #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" @@ -1203,6 +1205,7 @@ extern short MovDelay[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]; +extern short Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; 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];