re-added loading/saving editor settings for element cascade headlines
[rocksndiamonds.git] / src / files.c
index d7f59a722369cc7e0e82bfa2d46ed293fe8527b8..9a769335fd40cabd8dd10eedf4da418464aa1e5e 100644 (file)
@@ -7062,7 +7062,8 @@ static int SaveLevel_GRPX(FILE *file, struct LevelInfo *level, int element)
   return chunk_size;
 }
 
-static void SaveLevelFromFilename(struct LevelInfo *level, char *filename)
+static void SaveLevelFromFilename(struct LevelInfo *level, char *filename,
+                                 boolean save_as_template)
 {
   int chunk_size;
   int i;
@@ -7126,7 +7127,7 @@ static void SaveLevelFromFilename(struct LevelInfo *level, char *filename)
   }
 
   /* if not using template level, check for non-default custom/group elements */
-  if (!level->use_custom_template)
+  if (!level->use_custom_template || save_as_template)
   {
     for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++)
     {
@@ -7162,14 +7163,14 @@ void SaveLevel(int nr)
 {
   char *filename = getDefaultLevelFilename(nr);
 
-  SaveLevelFromFilename(&level, filename);
+  SaveLevelFromFilename(&level, filename, FALSE);
 }
 
 void SaveLevelTemplate()
 {
   char *filename = getLocalLevelTemplateFilename();
 
-  SaveLevelFromFilename(&level, filename);
+  SaveLevelFromFilename(&level, filename, TRUE);
 }
 
 boolean SaveLevelChecked(int nr)
@@ -7974,11 +7975,11 @@ void SaveScore(int nr)
 #define NUM_GLOBAL_SETUP_TOKENS                        43
 
 /* editor setup */
-#define SETUP_TOKEN_EDITOR_EL_CHARS            0
-#define SETUP_TOKEN_EDITOR_EL_STEEL_CHARS      1
-#define SETUP_TOKEN_EDITOR_EL_CUSTOM           2
-#define SETUP_TOKEN_EDITOR_EL_USER_DEFINED     3
-#define SETUP_TOKEN_EDITOR_EL_DYNAMIC          4
+#define SETUP_TOKEN_EDITOR_EL_CLASSIC          0
+#define SETUP_TOKEN_EDITOR_EL_CUSTOM           1
+#define SETUP_TOKEN_EDITOR_EL_USER_DEFINED     2
+#define SETUP_TOKEN_EDITOR_EL_DYNAMIC          3
+#define SETUP_TOKEN_EDITOR_EL_HEADLINES                4
 #define SETUP_TOKEN_EDITOR_SHOW_ELEMENT_TOKEN  5
 
 #define NUM_EDITOR_SETUP_TOKENS                        6
@@ -8166,11 +8167,11 @@ static struct TokenInfo global_setup_tokens[] =
 
 static struct TokenInfo editor_setup_tokens[] =
 {
-  { TYPE_SWITCH, &sei.el_chars,                "editor.el_chars"               },
-  { TYPE_SWITCH, &sei.el_steel_chars,  "editor.el_steel_chars"         },
+  { TYPE_SWITCH, &sei.el_classic,      "editor.el_classic"             },
   { TYPE_SWITCH, &sei.el_custom,       "editor.el_custom"              },
   { TYPE_SWITCH, &sei.el_user_defined, "editor.el_user_defined"        },
   { TYPE_SWITCH, &sei.el_dynamic,      "editor.el_dynamic"             },
+  { TYPE_SWITCH, &sei.el_headlines,    "editor.el_headlines"           },
   { TYPE_SWITCH, &sei.show_element_token,"editor.show_element_token"   },
 };
 
@@ -8375,13 +8376,16 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->editor.el_dx_boulderdash         = TRUE;
   si->editor.el_chars                  = TRUE;
   si->editor.el_steel_chars            = TRUE;
+
+  si->editor.el_classic                        = TRUE;
   si->editor.el_custom                 = TRUE;
 
-  si->editor.el_headlines = TRUE;
-  si->editor.el_user_defined = FALSE;
-  si->editor.el_dynamic = TRUE;
+  si->editor.el_user_defined           = FALSE;
+  si->editor.el_dynamic                        = TRUE;
+
+  si->editor.el_headlines              = TRUE;
 
-  si->editor.show_element_token = FALSE;
+  si->editor.show_element_token                = FALSE;
 
   si->shortcut.save_game       = DEFAULT_KEY_SAVE_GAME;
   si->shortcut.load_game       = DEFAULT_KEY_LOAD_GAME;