X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=c2a197819d61fb2d7f21b17adfc5dea21ab2eb30;hb=c128739405acf7f7fc4414cb68803e9b966ade69;hp=f2e78edebab08a46d38b37f73b18953fb0d0657c;hpb=45483d224aed58ac2cf856b0fcdd2d4707084047;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index f2e78ede..c2a19781 100644 --- a/src/init.c +++ b/src/init.c @@ -1271,6 +1271,19 @@ static void InitElementSpecialGraphicInfo(void) action = -1; } + // for BD effect editor graphics, replace element with effect element, if exists + if (action != -1 && special == GFX_SPECIAL_ARG_EDITOR) + { + int element_bd = map_element_RND_to_BD_effect(element, action); + int element_ef = map_element_BD_to_RND_cave(element_bd); + + if (element_ef != EL_UNKNOWN) + { + element = element_ef; + action = -1; + } + } + if (element >= MAX_NUM_ELEMENTS) continue; @@ -4278,6 +4291,16 @@ void InitElementPropertiesStatic(void) EL_AMOEBA_DRY, EL_AMOEBA_FULL, EL_BD_AMOEBA, + EL_BD_AMOEBA_2, + EL_BD_SLIME, + EL_BD_ACID, + EL_BD_BITER, + EL_BD_BITER_RIGHT, + EL_BD_BITER_UP, + EL_BD_BITER_LEFT, + EL_BD_BITER_DOWN, + EL_BD_BLADDER, + EL_BD_NUT, EL_EMC_MAGIC_BALL, EL_EMC_ANDROID, EL_MM_GRAY_BALL, @@ -4574,6 +4597,7 @@ void InitElementPropertiesStatic(void) { EL_INTERNAL_CASCADE_BD_ACTIVE, EL_INTERNAL_CASCADE_BD_NATIVE_ACTIVE, + EL_INTERNAL_CASCADE_BD_EFFECTS_ACTIVE, EL_INTERNAL_CASCADE_EM_ACTIVE, EL_INTERNAL_CASCADE_EMC_ACTIVE, EL_INTERNAL_CASCADE_RND_ACTIVE, @@ -4599,6 +4623,7 @@ void InitElementPropertiesStatic(void) { EL_INTERNAL_CASCADE_BD, EL_INTERNAL_CASCADE_BD_NATIVE, + EL_INTERNAL_CASCADE_BD_EFFECTS, EL_INTERNAL_CASCADE_EM, EL_INTERNAL_CASCADE_EMC, EL_INTERNAL_CASCADE_RND, @@ -6245,9 +6270,9 @@ static void InitOverrideArtwork(void) gfx.override_level_music = FALSE; // now check if this level set has definitions for custom elements - if (setup.override_level_graphics == AUTO || - setup.override_level_sounds == AUTO || - setup.override_level_music == AUTO) + if (setup.override_level_graphics == MODE_AUTO || + setup.override_level_sounds == MODE_AUTO || + setup.override_level_music == MODE_AUTO) redefined_ce_found = (CheckArtworkTypeForRedefinedCustomElements(ARTWORK_TYPE_GRAPHICS) | CheckArtworkTypeForRedefinedCustomElements(ARTWORK_TYPE_SOUNDS) | @@ -6260,14 +6285,14 @@ static void InitOverrideArtwork(void) if (redefined_ce_found) { - // this level set has CE definitions: change "AUTO" to "FALSE" + // this level set has CE definitions: change "MODE_AUTO" to "FALSE" gfx.override_level_graphics = (setup.override_level_graphics == TRUE); gfx.override_level_sounds = (setup.override_level_sounds == TRUE); gfx.override_level_music = (setup.override_level_music == TRUE); } else { - // this level set has no CE definitions: change "AUTO" to "TRUE" + // this level set has no CE definitions: change "MODE_AUTO" to "TRUE" gfx.override_level_graphics = (setup.override_level_graphics != FALSE); gfx.override_level_sounds = (setup.override_level_sounds != FALSE); gfx.override_level_music = (setup.override_level_music != FALSE);