changed click events for global animations to ignore 'consumed' clicks
[rocksndiamonds.git] / src / files.c
index 419399bfeeb9b7d9385665852d77f3576b1665f7..4370cba412ca3492d03ab7644f1111fd2cb12ed9 100644 (file)
@@ -3193,6 +3193,9 @@ static void LoadLevelFromFileInfo_RND(struct LevelInfo *level,
 
     Error(ERR_WARN, "cannot read level '%s' -- using empty level", filename);
 
+    if (!setup.editor.use_template_for_new_levels)
+      return;
+
     /* if level file not found, try to initialize level data from template */
     filename = getGlobalLevelTemplateFilename();
 
@@ -7945,43 +7948,45 @@ void SaveScore(int nr)
 #define SETUP_TOKEN_TEAM_MODE                  14
 #define SETUP_TOKEN_HANDICAP                   15
 #define SETUP_TOKEN_SKIP_LEVELS                        16
-#define SETUP_TOKEN_TIME_LIMIT                 17
-#define SETUP_TOKEN_FULLSCREEN                 18
-#define SETUP_TOKEN_WINDOW_SCALING_PERCENT     19
-#define SETUP_TOKEN_WINDOW_SCALING_QUALITY     20
-#define SETUP_TOKEN_SCREEN_RENDERING_MODE      21
-#define SETUP_TOKEN_ASK_ON_ESCAPE              22
-#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR       23
-#define SETUP_TOKEN_QUICK_SWITCH               24
-#define SETUP_TOKEN_INPUT_ON_FOCUS             25
-#define SETUP_TOKEN_PREFER_AGA_GRAPHICS                26
-#define SETUP_TOKEN_GAME_FRAME_DELAY           27
-#define SETUP_TOKEN_SP_SHOW_BORDER_ELEMENTS    28
-#define SETUP_TOKEN_SMALL_GAME_GRAPHICS                29
-#define SETUP_TOKEN_SHOW_SNAPSHOT_BUTTONS      30
-#define SETUP_TOKEN_GRAPHICS_SET               31
-#define SETUP_TOKEN_SOUNDS_SET                 32
-#define SETUP_TOKEN_MUSIC_SET                  33
-#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS    34
-#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS      35
-#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC       36
-#define SETUP_TOKEN_VOLUME_SIMPLE              37
-#define SETUP_TOKEN_VOLUME_LOOPS               38
-#define SETUP_TOKEN_VOLUME_MUSIC               39
-#define SETUP_TOKEN_TOUCH_CONTROL_TYPE         40
-#define SETUP_TOKEN_TOUCH_MOVE_DISTANCE                41
-#define SETUP_TOKEN_TOUCH_DROP_DISTANCE                42
-
-#define NUM_GLOBAL_SETUP_TOKENS                        43
+#define SETUP_TOKEN_INCREMENT_LEVELS           17
+#define SETUP_TOKEN_TIME_LIMIT                 18
+#define SETUP_TOKEN_FULLSCREEN                 19
+#define SETUP_TOKEN_WINDOW_SCALING_PERCENT     20
+#define SETUP_TOKEN_WINDOW_SCALING_QUALITY     21
+#define SETUP_TOKEN_SCREEN_RENDERING_MODE      22
+#define SETUP_TOKEN_ASK_ON_ESCAPE              23
+#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR       24
+#define SETUP_TOKEN_QUICK_SWITCH               25
+#define SETUP_TOKEN_INPUT_ON_FOCUS             26
+#define SETUP_TOKEN_PREFER_AGA_GRAPHICS                27
+#define SETUP_TOKEN_GAME_FRAME_DELAY           28
+#define SETUP_TOKEN_SP_SHOW_BORDER_ELEMENTS    29
+#define SETUP_TOKEN_SMALL_GAME_GRAPHICS                30
+#define SETUP_TOKEN_SHOW_SNAPSHOT_BUTTONS      31
+#define SETUP_TOKEN_GRAPHICS_SET               32
+#define SETUP_TOKEN_SOUNDS_SET                 33
+#define SETUP_TOKEN_MUSIC_SET                  34
+#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS    35
+#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS      36
+#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC       37
+#define SETUP_TOKEN_VOLUME_SIMPLE              38
+#define SETUP_TOKEN_VOLUME_LOOPS               39
+#define SETUP_TOKEN_VOLUME_MUSIC               40
+#define SETUP_TOKEN_TOUCH_CONTROL_TYPE         41
+#define SETUP_TOKEN_TOUCH_MOVE_DISTANCE                42
+#define SETUP_TOKEN_TOUCH_DROP_DISTANCE                43
+
+#define NUM_GLOBAL_SETUP_TOKENS                        44
 
 /* editor setup */
 #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_SHOW_ELEMENT_TOKEN  4
+#define SETUP_TOKEN_EDITOR_EL_HEADLINES                4
+#define SETUP_TOKEN_EDITOR_SHOW_ELEMENT_TOKEN  5
 
-#define NUM_EDITOR_SETUP_TOKENS                        5
+#define NUM_EDITOR_SETUP_TOKENS                        6
 
 /* editor cascade setup */
 #define SETUP_TOKEN_EDITOR_CASCADE_BD          0
@@ -8136,6 +8141,7 @@ static struct TokenInfo global_setup_tokens[] =
   { TYPE_SWITCH, &si.team_mode,               "team_mode"              },
   { TYPE_SWITCH, &si.handicap,                "handicap"               },
   { TYPE_SWITCH, &si.skip_levels,             "skip_levels"            },
+  { TYPE_SWITCH, &si.increment_levels,        "increment_levels"       },
   { TYPE_SWITCH, &si.time_limit,              "time_limit"             },
   { TYPE_SWITCH, &si.fullscreen,              "fullscreen"             },
   { TYPE_INTEGER,&si.window_scaling_percent,  "window_scaling_percent" },
@@ -8170,6 +8176,7 @@ static struct TokenInfo editor_setup_tokens[] =
   { 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"   },
 };
 
@@ -8333,6 +8340,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->team_mode = FALSE;
   si->handicap = TRUE;
   si->skip_levels = TRUE;
+  si->increment_levels = TRUE;
   si->time_limit = TRUE;
   si->fullscreen = FALSE;
   si->window_scaling_percent = STD_WINDOW_SCALING_PERCENT;
@@ -8378,12 +8386,14 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   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_headlines              = TRUE;
 
-  si->editor.el_user_defined = FALSE;
-  si->editor.el_dynamic = TRUE;
+  si->editor.show_element_token                = FALSE;
 
-  si->editor.show_element_token = FALSE;
+  si->editor.use_template_for_new_levels = TRUE;
 
   si->shortcut.save_game       = DEFAULT_KEY_SAVE_GAME;
   si->shortcut.load_game       = DEFAULT_KEY_LOAD_GAME;