rnd-20070327-1-src
[rocksndiamonds.git] / src / files.c
index f41465f4337790bdc59bc8c912fe561cf3d48290..88ca1817e8096b7c5b07fcb9cfb9a33707237395 100644 (file)
@@ -264,6 +264,11 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] =
     TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(6),
     &li.continuous_snapping,           TRUE
   },
+  {
+    EL_PLAYER_1,                       -1,
+    TYPE_BOOLEAN,                      CONF_VALUE_8_BIT(12),
+    &li.shifted_relocation,            FALSE
+  },
 
   /* (these values are different for each player) */
   {
@@ -5948,6 +5953,10 @@ static void LoadLevel_InitVersion(struct LevelInfo *level, char *filename)
        change->target_element == EL_SOKOBAN_FIELD_PLAYER)
       change->target_element = EL_PLAYER_1;
   }
+
+  /* not centering level after relocating player was default only in 3.2.3 */
+  if (level->game_version == VERSION_IDENT(3,2,3,0))   /* (no pre-releases) */
+    level->shifted_relocation = TRUE;
 }
 
 static void LoadLevel_InitElements(struct LevelInfo *level, char *filename)
@@ -8339,7 +8348,7 @@ static void LoadSpecialMenuDesignSettingsFromFilename(char *filename)
     { TYPE_BOOLEAN,    &tmi.centered,          ".centered"             },
     { TYPE_BOOLEAN,    &tmi.parse_comments,    ".parse_comments"       },
     { TYPE_INTEGER,    &tmi.sort_priority,     ".sort_priority"        },
-    { TYPE_INTEGER,    &tmi.anim_mode,         ".anim_mode"            },
+    { TYPE_INTEGER,    &tmi.fade_mode,         ".fade_mode"            },
     { TYPE_INTEGER,    &tmi.fade_delay,        ".fade_delay"           },
     { TYPE_INTEGER,    &tmi.post_delay,        ".post_delay"           },
     { TYPE_INTEGER,    &tmi.auto_delay,        ".auto_delay"           },
@@ -8400,7 +8409,7 @@ static void LoadSpecialMenuDesignSettingsFromFilename(char *filename)
   }
 
   /* special case: initialize with default values that may be overwritten */
-  /* (e.g., init "titlemessage_1.anim_mode" from "[titlemessage].anim_mode") */
+  /* (e.g., init "titlemessage_1.fade_mode" from "[titlemessage].fade_mode") */
   for (i = 0; titlemessage_arrays[i].array != NULL; i++)
   {
     struct TitleMessageInfo *array = titlemessage_arrays[i].array;
@@ -8461,18 +8470,18 @@ void LoadSpecialMenuDesignSettings()
   /* the following initializes hierarchical values from static configuration */
 
   /* special case: initialize "ARG_DEFAULT" values in static default config */
-  /* (e.g., initialize "[titlemessage].anim_mode" from "[title].anim_mode") */
-  titlemessage_initial_default.anim_mode  = title_initial_default.anim_mode;
+  /* (e.g., initialize "[titlemessage].fade_mode" from "[title].fade_mode") */
+  titlemessage_initial_default.fade_mode  = title_initial_default.fade_mode;
   titlemessage_initial_default.fade_delay = title_initial_default.fade_delay;
   titlemessage_initial_default.post_delay = title_initial_default.post_delay;
   titlemessage_initial_default.auto_delay = title_initial_default.auto_delay;
-  titlemessage_default.anim_mode  = title_default.anim_mode;
+  titlemessage_default.fade_mode  = title_default.fade_mode;
   titlemessage_default.fade_delay = title_default.fade_delay;
   titlemessage_default.post_delay = title_default.post_delay;
   titlemessage_default.auto_delay = title_default.auto_delay;
 
   /* special case: initialize "ARG_DEFAULT" values in static default config */
-  /* (e.g., init "titlemessage_1.anim_mode" from "[titlemessage].anim_mode") */
+  /* (e.g., init "titlemessage_1.fade_mode" from "[titlemessage].fade_mode") */
   for (i = 0; i < MAX_NUM_TITLE_MESSAGES; i++)
   {
     titlemessage_initial[i] = titlemessage_initial_default;