X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=853588131e640718f8e6a5a81f073f7505d4367b;hb=1c636a51bb573815d24a27dcc20b3283d89d1b8b;hp=69158a75d27e6a3a7d7f022949d1a80de955630f;hpb=0ae305660baec1a7568ac7df7f296b695904d59a;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 69158a75..85358813 100644 --- a/src/init.c +++ b/src/init.c @@ -598,7 +598,7 @@ void InitElementGraphicInfo() int default_direction_crumbled[NUM_DIRECTIONS]; if (default_graphic == -1) - default_graphic = IMG_CHAR_QUESTION; + default_graphic = IMG_UNKNOWN; 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 (element_info[i].graphic[ACTION_DEFAULT] == IMG_CHAR_QUESTION && - i != EL_CHAR_QUESTION) + if (element_info[i].graphic[ACTION_DEFAULT] == IMG_UNKNOWN && + i != EL_UNKNOWN) Error(ERR_RETURN, "warning: no graphic for element '%s' (%d)", element_info[i].token_name, i); } @@ -2084,6 +2084,11 @@ void InitElementPropertiesStatic() -1 }; + static int ep_protected[] = + { + -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_UNKNOWN, -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_protected, EP_PROTECTED }, { 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))); + /* ---------- 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); @@ -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) && - !IS_WALKABLE_OVER(i) && - !IS_WALKABLE_UNDER(i))); + IS_PROTECTED(i))); if (IS_CUSTOM_ELEMENT(i)) {