projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20030423-2-src
[rocksndiamonds.git]
/
src
/
main.h
diff --git
a/src/main.h
b/src/main.h
index 2d5910757ccec644e94ab7e673cb12adbacf178f..c5a79500ed547e960ab515958be62c0ebd18070a 100644
(file)
--- 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_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_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
#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_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_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_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_P
LAYER_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_P
ASSABLE
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
#define EP_ACTIVE_BOMB 40
#define EP_BELT 41
#define EP_BELT_ACTIVE 42
@@
-110,8
+110,12
@@
#define EP_SP_ELEMENT 44
#define EP_HAS_CONTENT 45
#define EP_TUBE 46
#define EP_SP_ELEMENT 44
#define EP_HAS_CONTENT 45
#define EP_TUBE 46
+#define EP_WALL 47
+#define EP_SOLID 48
+#define EP_DRAGONFIRE_PROOF 49
+#define EP_EXPLOSION_PROOF 50
-#define NUM_ELEMENT_PROPERTIES
47
+#define NUM_ELEMENT_PROPERTIES
51
#define NUM_EP_BITFIELDS ((NUM_ELEMENT_PROPERTIES + 31) / 32)
#define EP_BITFIELD_BASE 0
#define NUM_EP_BITFIELDS ((NUM_ELEMENT_PROPERTIES + 31) / 32)
#define EP_BITFIELD_BASE 0
@@
-129,12
+133,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_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_PFOR
TE)
-#define IS_
SOLID(e) HAS_PROPERTY(e, EP
_SOLID)
+#define IS_
KEYGATE(e) HAS_PROPERTY(e, EP_KEYGA
TE)
+#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_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)
#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
+157,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_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_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_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_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_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)
#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
+179,10
@@
#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_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_SOLID(e) HAS_PROPERTY(e, EP_SOLID)
+#define IS_DRAGONFIRE_PROOF(e) HAS_PROPERTY(e, EP_DRAGONFIRE_PROOF)
+#define IS_EXPLOSION_PROOF(e) HAS_PROPERTY(e, EP_EXPLOSION_PROOF)
#define IS_CUSTOM_ELEMENT(e) ((e) >= EL_CUSTOM_START && \
(e) <= EL_CUSTOM_END)
#define IS_CUSTOM_ELEMENT(e) ((e) >= EL_CUSTOM_START && \
(e) <= EL_CUSTOM_END)
@@
-205,7
+213,7
@@
#define PLAYERINFO(x,y) (&stored_player[StorePlayer[x][y]-EL_PLAYER_1])
#define SHIELD_ON(p) ((p)->shield_normal_time_left > 0)
#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))
IS_INDESTRUCTIBLE(Feld[x][y]))
#define PLAYER_PROTECTED(x,y) (SHIELD_ON(PLAYERINFO(x, y)) || \
PROTECTED_FIELD(x, y))
@@
-844,10
+852,10
@@
#define FONT_TEXT_2 9
#define FONT_TEXT_3 10
#define FONT_TEXT_4 11
#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
#define FONT_OPTION_OFF 16
#define FONT_OPTION_ON 17
#define FONT_VALUE_1 18
@@
-876,7
+884,7
@@
#define PROGRAM_VERSION_MAJOR 2
#define PROGRAM_VERSION_MINOR 2
#define PROGRAM_VERSION_PATCH 0
#define PROGRAM_VERSION_MAJOR 2
#define PROGRAM_VERSION_MINOR 2
#define PROGRAM_VERSION_PATCH 0
-#define PROGRAM_VERSION_STRING "2.2.0rc
4
"
+#define PROGRAM_VERSION_STRING "2.2.0rc
7
"
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"
@@
-1203,6
+1211,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 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];
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];