fixed graphical bugs when using background graphics on menu screens
[rocksndiamonds.git] / src / files.c
index 489565f976255aaf1c22679ebd70fb23fbaa533d..3e6d25f3d13c190ba502b1443cdf32992b957095 100644 (file)
@@ -748,6 +748,34 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] =
     &li.bd_change_expanding_wall,      FALSE
   },
 
+  {
+    EL_BD_REPLICATOR,                  -1,
+    TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(1),
+    &li.bd_replicators_active,         TRUE
+  },
+  {
+    EL_BD_REPLICATOR,                  -1,
+    TYPE_INTEGER,                      CONF_VALUE_8_BIT(2),
+    &li.bd_replicator_create_delay,    4
+  },
+
+  {
+    EL_BD_CONVEYOR_LEFT,               -1,
+    TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(1),
+    &li.bd_conveyor_belts_active,      TRUE
+  },
+  {
+    EL_BD_CONVEYOR_LEFT,               -1,
+    TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(2),
+    &li.bd_conveyor_belts_changed,     FALSE
+  },
+
+  {
+    EL_BD_WATER,                       -1,
+    TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(1),
+    &li.bd_water_cannot_flow_down,     FALSE
+  },
+
   // (the following values are related to various game elements)
 
   {
@@ -4045,6 +4073,14 @@ static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level)
 
   cave->expanding_wall_changed         = level->bd_change_expanding_wall;
 
+  cave->replicators_active             = level->bd_replicators_active;
+  cave->replicator_delay_frame         = level->bd_replicator_create_delay;
+
+  cave->conveyor_belts_active          = level->bd_conveyor_belts_active;
+  cave->conveyor_belts_direction_changed= level->bd_conveyor_belts_changed;
+
+  cave->water_does_not_flow_down       = level->bd_water_cannot_flow_down;
+
   // level name
   strncpy(cave->name, level->name, sizeof(GdString));
   cave->name[sizeof(GdString) - 1] = '\0';
@@ -4146,6 +4182,14 @@ static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level)
 
   level->bd_change_expanding_wall      = cave->expanding_wall_changed;
 
+  level->bd_replicators_active         = cave->replicators_active;
+  level->bd_replicator_create_delay    = cave->replicator_delay_frame;
+
+  level->bd_conveyor_belts_active      = cave->conveyor_belts_active;
+  level->bd_conveyor_belts_changed     = cave->conveyor_belts_direction_changed;
+
+  level->bd_water_cannot_flow_down     = cave->water_does_not_flow_down;
+
   // level name
   char *cave_name = getStringPrint("%s / %d", cave->name, bd_level_nr + 1);