projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20040206-B-src
[rocksndiamonds.git]
/
src
/
init.c
diff --git
a/src/init.c
b/src/init.c
index 69158a75d27e6a3a7d7f022949d1a80de955630f..853588131e640718f8e6a5a81f073f7505d4367b 100644
(file)
--- a/
src/init.c
+++ b/
src/init.c
@@
-598,7
+598,7
@@
void InitElementGraphicInfo()
int default_direction_crumbled[NUM_DIRECTIONS];
if (default_graphic == -1)
int default_direction_crumbled[NUM_DIRECTIONS];
if (default_graphic == -1)
- default_graphic = IMG_
CHAR_QUESTIO
N;
+ default_graphic = IMG_
UNKNOW
N;
if (default_crumbled == -1)
default_crumbled = IMG_EMPTY;
if (default_crumbled == -1)
default_crumbled = IMG_EMPTY;
@@
-732,8
+732,8
@@
void InitElementGraphicInfo()
if (options.verbose)
{
for (i = 0; i < MAX_NUM_ELEMENTS; i++)
if (options.verbose)
{
for (i = 0; i < MAX_NUM_ELEMENTS; i++)
- if (element_info[i].graphic[ACTION_DEFAULT] == IMG_
CHAR_QUESTIO
N &&
- i != EL_
CHAR_QUESTIO
N)
+ if (element_info[i].graphic[ACTION_DEFAULT] == IMG_
UNKNOW
N &&
+ i != EL_
UNKNOW
N)
Error(ERR_RETURN, "warning: no graphic for element '%s' (%d)",
element_info[i].token_name, i);
}
Error(ERR_RETURN, "warning: no graphic for element '%s' (%d)",
element_info[i].token_name, i);
}
@@
-2084,6
+2084,11
@@
void InitElementPropertiesStatic()
-1
};
-1
};
+ static int ep_protected[] =
+ {
+ -1
+ };
+
static int ep_player[] =
{
EL_PLAYER_1,
static int ep_player[] =
{
EL_PLAYER_1,
@@
-2164,6
+2169,7
@@
void InitElementPropertiesStatic()
EL_BD_BUTTERFLY_4,
EL_BD_AMOEBA,
EL_CHAR_QUESTION,
EL_BD_BUTTERFLY_4,
EL_BD_AMOEBA,
EL_CHAR_QUESTION,
+ EL_UNKNOWN,
-1
};
-1
};
@@
-2856,6
+2862,7
@@
void InitElementPropertiesStatic()
{ ep_can_explode_1x1, EP_CAN_EXPLODE_1X1 },
{ ep_pushable, EP_PUSHABLE },
{ ep_can_explode_dyna, EP_CAN_EXPLODE_DYNA },
{ ep_can_explode_1x1, EP_CAN_EXPLODE_1X1 },
{ ep_pushable, EP_PUSHABLE },
{ ep_can_explode_dyna, EP_CAN_EXPLODE_DYNA },
+ { ep_protected, EP_PROTECTED },
{ ep_player, EP_PLAYER },
{ ep_can_pass_magic_wall, EP_CAN_PASS_MAGIC_WALL },
{ ep_player, EP_PLAYER },
{ ep_can_pass_magic_wall, EP_CAN_PASS_MAGIC_WALL },
@@
-3080,6
+3087,10
@@
void InitElementPropertiesEngine(int engine_version)
SET_PROPERTY(i, EP_DRAGONFIRE_PROOF, (IS_CUSTOM_ELEMENT(i) &&
IS_INDESTRUCTIBLE(i)));
SET_PROPERTY(i, EP_DRAGONFIRE_PROOF, (IS_CUSTOM_ELEMENT(i) &&
IS_INDESTRUCTIBLE(i)));
+ /* ---------- PROTECTED ------------------------------------------------ */
+ if (IS_ACCESSIBLE_INSIDE(i))
+ SET_PROPERTY(i, EP_PROTECTED, TRUE);
+
/* ---------- EXPLOSION_PROOF ------------------------------------------ */
if (i == EL_FLAMES)
SET_PROPERTY(i, EP_EXPLOSION_PROOF, TRUE);
/* ---------- EXPLOSION_PROOF ------------------------------------------ */
if (i == EL_FLAMES)
SET_PROPERTY(i, EP_EXPLOSION_PROOF, TRUE);
@@
-3087,8
+3098,7
@@
void InitElementPropertiesEngine(int engine_version)
SET_PROPERTY(i, EP_EXPLOSION_PROOF, IS_INDESTRUCTIBLE(i));
else
SET_PROPERTY(i, EP_EXPLOSION_PROOF, (IS_INDESTRUCTIBLE(i) &&
SET_PROPERTY(i, EP_EXPLOSION_PROOF, IS_INDESTRUCTIBLE(i));
else
SET_PROPERTY(i, EP_EXPLOSION_PROOF, (IS_INDESTRUCTIBLE(i) &&
- !IS_WALKABLE_OVER(i) &&
- !IS_WALKABLE_UNDER(i)));
+ IS_PROTECTED(i)));
if (IS_CUSTOM_ELEMENT(i))
{
if (IS_CUSTOM_ELEMENT(i))
{