moved creature movement settings to creature switch properties page
[rocksndiamonds.git] / src / files.c
index e50a37635c0839d8665039ab645b19678733d847..83700121df91151b3f37b0c3c9d5a04a0b9263d0 100644 (file)
@@ -879,6 +879,22 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] =
     &li.bd_skeleton_worth_num_diamonds,        0
   },
 
+  {
+    EL_BD_CREATURE_SWITCH,             -1,
+    TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(1),
+    &li.bd_creatures_start_backwards,  FALSE
+  },
+  {
+    EL_BD_CREATURE_SWITCH,             -1,
+    TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(2),
+    &li.bd_creatures_turn_on_hatching, FALSE
+  },
+  {
+    EL_BD_CREATURE_SWITCH,             -1,
+    TYPE_INTEGER,                      CONF_VALUE_16_BIT(1),
+    &li.bd_creatures_auto_turn_delay,  0
+  },
+
   {
     EL_BD_SAND,                                -1,
     TYPE_ELEMENT,                      CONF_VALUE_16_BIT(1),
@@ -4220,6 +4236,10 @@ static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level)
   cave->expanding_wall_looks_like      = LEVEL_TO_CAVE(level->bd_expanding_wall_looks_like);
   cave->dirt_looks_like                        = LEVEL_TO_CAVE(level->bd_sand_looks_like);
 
+  cave->creatures_backwards                     = level->bd_creatures_start_backwards;
+  cave->creatures_direction_auto_change_on_start = level->bd_creatures_turn_on_hatching;
+  cave->creatures_direction_auto_change_time    = level->bd_creatures_auto_turn_delay;
+
   // level name
   strncpy(cave->name, level->name, sizeof(GdString));
   cave->name[sizeof(GdString) - 1] = '\0';
@@ -4356,6 +4376,10 @@ static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level)
   level->bd_expanding_wall_looks_like  = CAVE_TO_LEVEL(cave->expanding_wall_looks_like);
   level->bd_sand_looks_like            = CAVE_TO_LEVEL(cave->dirt_looks_like);
 
+  level->bd_creatures_start_backwards  = cave->creatures_backwards;
+  level->bd_creatures_turn_on_hatching = cave->creatures_direction_auto_change_on_start;
+  level->bd_creatures_auto_turn_delay  = cave->creatures_direction_auto_change_time;
+
   // level name
   char *cave_name = getStringPrint("%s / %d", cave->name, bd_level_nr + 1);