added separate 3-state type values for "true" and "false" states
[rocksndiamonds.git] / src / init.c
index 28d8aae2271a5bc73202fd4a0e10e25e891bf84f..c2a197819d61fb2d7f21b17adfc5dea21ab2eb30 100644 (file)
@@ -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;
 
@@ -4279,6 +4292,7 @@ void InitElementPropertiesStatic(void)
     EL_AMOEBA_FULL,
     EL_BD_AMOEBA,
     EL_BD_AMOEBA_2,
+    EL_BD_SLIME,
     EL_BD_ACID,
     EL_BD_BITER,
     EL_BD_BITER_RIGHT,
@@ -4286,6 +4300,7 @@ void InitElementPropertiesStatic(void)
     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,
@@ -6255,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) |
@@ -6270,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);