fixed wrong screen text and comments for scroll delay in setup menu
[rocksndiamonds.git] / src / files.c
index d1b60e47c704ccbaa6119f38035134a0c16404b9..e5ca6168c5a3c5e4612d2460fad557ae3f0ce5a7 100644 (file)
@@ -7909,32 +7909,31 @@ void SaveScore(int nr)
 #define SETUP_TOKEN_SKIP_LEVELS                        15
 #define SETUP_TOKEN_TIME_LIMIT                 16
 #define SETUP_TOKEN_FULLSCREEN                 17
-#define SETUP_TOKEN_FULLSCREEN_MODE            18
-#define SETUP_TOKEN_WINDOW_SCALING_PERCENT     19
-#define SETUP_TOKEN_WINDOW_SCALING_QUALITY     20
-#define SETUP_TOKEN_ASK_ON_ESCAPE              21
-#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR       22
-#define SETUP_TOKEN_QUICK_SWITCH               23
-#define SETUP_TOKEN_INPUT_ON_FOCUS             24
-#define SETUP_TOKEN_PREFER_AGA_GRAPHICS                25
-#define SETUP_TOKEN_GAME_FRAME_DELAY           26
-#define SETUP_TOKEN_SP_SHOW_BORDER_ELEMENTS    27
-#define SETUP_TOKEN_SMALL_GAME_GRAPHICS                28
-#define SETUP_TOKEN_SHOW_SNAPSHOT_BUTTONS      29
-#define SETUP_TOKEN_GRAPHICS_SET               30
-#define SETUP_TOKEN_SOUNDS_SET                 31
-#define SETUP_TOKEN_MUSIC_SET                  32
-#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS    33
-#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS      34
-#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC       35
-#define SETUP_TOKEN_VOLUME_SIMPLE              36
-#define SETUP_TOKEN_VOLUME_LOOPS               37
-#define SETUP_TOKEN_VOLUME_MUSIC               38
-#define SETUP_TOKEN_TOUCH_CONTROL_TYPE         39
-#define SETUP_TOKEN_TOUCH_MOVE_DISTANCE                40
-#define SETUP_TOKEN_TOUCH_DROP_DISTANCE                41
-
-#define NUM_GLOBAL_SETUP_TOKENS                        42
+#define SETUP_TOKEN_WINDOW_SCALING_PERCENT     18
+#define SETUP_TOKEN_WINDOW_SCALING_QUALITY     19
+#define SETUP_TOKEN_ASK_ON_ESCAPE              20
+#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR       21
+#define SETUP_TOKEN_QUICK_SWITCH               22
+#define SETUP_TOKEN_INPUT_ON_FOCUS             23
+#define SETUP_TOKEN_PREFER_AGA_GRAPHICS                24
+#define SETUP_TOKEN_GAME_FRAME_DELAY           25
+#define SETUP_TOKEN_SP_SHOW_BORDER_ELEMENTS    26
+#define SETUP_TOKEN_SMALL_GAME_GRAPHICS                27
+#define SETUP_TOKEN_SHOW_SNAPSHOT_BUTTONS      28
+#define SETUP_TOKEN_GRAPHICS_SET               29
+#define SETUP_TOKEN_SOUNDS_SET                 30
+#define SETUP_TOKEN_MUSIC_SET                  31
+#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS    32
+#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS      33
+#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC       34
+#define SETUP_TOKEN_VOLUME_SIMPLE              35
+#define SETUP_TOKEN_VOLUME_LOOPS               36
+#define SETUP_TOKEN_VOLUME_MUSIC               37
+#define SETUP_TOKEN_TOUCH_CONTROL_TYPE         38
+#define SETUP_TOKEN_TOUCH_MOVE_DISTANCE                39
+#define SETUP_TOKEN_TOUCH_DROP_DISTANCE                40
+
+#define NUM_GLOBAL_SETUP_TOKENS                        41
 
 /* editor setup */
 #define SETUP_TOKEN_EDITOR_EL_BOULDERDASH      0
@@ -8044,8 +8043,10 @@ void SaveScore(int nr)
 #define SETUP_TOKEN_INT_FALLBACK_MUSIC_FILE    12
 #define SETUP_TOKEN_INT_DEFAULT_LEVEL_SERIES   13
 #define SETUP_TOKEN_INT_CHOOSE_FROM_TOP_LEVELDIR 14
+#define SETUP_TOKEN_INT_DEFAULT_WINDOW_WIDTH   15
+#define SETUP_TOKEN_INT_DEFAULT_WINDOW_HEIGHT  16
 
-#define NUM_INTERNAL_SETUP_TOKENS              15
+#define NUM_INTERNAL_SETUP_TOKENS              17
 
 /* options setup */
 #define SETUP_TOKEN_OPTIONS_VERBOSE            0
@@ -8082,7 +8083,6 @@ static struct TokenInfo global_setup_tokens[] =
   { TYPE_SWITCH, &si.skip_levels,             "skip_levels"            },
   { TYPE_SWITCH, &si.time_limit,              "time_limit"             },
   { TYPE_SWITCH, &si.fullscreen,              "fullscreen"             },
-  { TYPE_STRING, &si.fullscreen_mode,         "fullscreen_mode"                },
   { TYPE_INTEGER,&si.window_scaling_percent,  "window_scaling_percent" },
   { TYPE_STRING, &si.window_scaling_quality,  "window_scaling_quality" },
   { TYPE_SWITCH, &si.ask_on_escape,           "ask_on_escape"          },
@@ -8217,6 +8217,8 @@ static struct TokenInfo internal_setup_tokens[] =
   { TYPE_STRING, &sxi.fallback_music_file,     "fallback_music_file"   },
   { TYPE_STRING, &sxi.default_level_series,    "default_level_series"  },
   { TYPE_BOOLEAN,&sxi.choose_from_top_leveldir,        "choose_from_top_leveldir" },
+  { TYPE_INTEGER,&sxi.default_window_width,    "default_window_width"  },
+  { TYPE_INTEGER,&sxi.default_window_height,   "default_window_height" },
 };
 
 static struct TokenInfo options_setup_tokens[] =
@@ -8262,7 +8264,6 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->skip_levels = TRUE;
   si->time_limit = TRUE;
   si->fullscreen = FALSE;
-  si->fullscreen_mode = getStringCopy(DEFAULT_FULLSCREEN_MODE);
   si->window_scaling_percent = STD_WINDOW_SCALING_PERCENT;
   si->window_scaling_quality = getStringCopy(SCALING_QUALITY_DEFAULT);
   si->ask_on_escape = TRUE;
@@ -8379,6 +8380,9 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->internal.default_level_series = getStringCopy(UNDEFINED_LEVELSET);
   si->internal.choose_from_top_leveldir = FALSE;
 
+  si->internal.default_window_width  = WIN_XSIZE_DEFAULT;
+  si->internal.default_window_height = WIN_YSIZE_DEFAULT;
+
   si->options.verbose = FALSE;
 
 #if defined(PLATFORM_ANDROID)
@@ -8757,6 +8761,14 @@ static void InitMenuDesignSettings_SpecialPreProcessing()
 
   /* special case: initialize "ARG_DEFAULT" values in static default config */
   /* (e.g., initialize "[titlemessage].fade_mode" from "[title].fade_mode") */
+  titlescreen_initial_default.fade_mode  = title_initial_default.fade_mode;
+  titlescreen_initial_default.fade_delay = title_initial_default.fade_delay;
+  titlescreen_initial_default.post_delay = title_initial_default.post_delay;
+  titlescreen_initial_default.auto_delay = title_initial_default.auto_delay;
+  titlescreen_default.fade_mode  = title_default.fade_mode;
+  titlescreen_default.fade_delay = title_default.fade_delay;
+  titlescreen_default.post_delay = title_default.post_delay;
+  titlescreen_default.auto_delay = title_default.auto_delay;
   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;
@@ -8770,6 +8782,8 @@ static void InitMenuDesignSettings_SpecialPreProcessing()
   /* (e.g., init "titlemessage_1.fade_mode" from "[titlemessage].fade_mode") */
   for (i = 0; i < MAX_NUM_TITLE_MESSAGES; i++)
   {
+    titlescreen_initial[i] = titlescreen_initial_default;
+    titlescreen[i] = titlescreen_default;
     titlemessage_initial[i] = titlemessage_initial_default;
     titlemessage[i] = titlemessage_default;
   }
@@ -8890,15 +8904,37 @@ static void LoadMenuDesignSettingsFromFilename(char *filename)
   }
   titlemessage_arrays[] =
   {
-    /* initialize title messages from "next screen" definitions, if defined */
+    /* initialize first titles from "enter screen" definitions, if defined */
+    { titlescreen_initial_first,       "menu.enter_screen.TITLE"       },
+    { titlescreen_first,               "menu.enter_screen.TITLE"       },
+    { titlemessage_initial_first,      "menu.enter_screen.TITLE"       },
+    { titlemessage_first,              "menu.enter_screen.TITLE"       },
+
+    /* initialize titles from "next screen" definitions, if defined */
+    { titlescreen_initial,             "menu.next_screen.TITLE"        },
+    { titlescreen,                     "menu.next_screen.TITLE"        },
     { titlemessage_initial,            "menu.next_screen.TITLE"        },
     { titlemessage,                    "menu.next_screen.TITLE"        },
 
-    /* overwrite title messages with title definitions, if defined */
+    /* overwrite titles with title definitions, if defined */
+    { titlescreen_initial_first,       "[title_initial]"               },
+    { titlescreen_first,               "[title]"                       },
+    { titlemessage_initial_first,      "[title_initial]"               },
+    { titlemessage_first,              "[title]"                       },
+
+    { titlescreen_initial,             "[title_initial]"               },
+    { titlescreen,                     "[title]"                       },
     { titlemessage_initial,            "[title_initial]"               },
     { titlemessage,                    "[title]"                       },
 
-    /* overwrite title messages with title message definitions, if defined */
+    /* overwrite titles with title screen/message definitions, if defined */
+    { titlescreen_initial_first,       "[titlescreen_initial]"         },
+    { titlescreen_first,               "[titlescreen]"                 },
+    { titlemessage_initial_first,      "[titlemessage_initial]"        },
+    { titlemessage_first,              "[titlemessage]"                },
+
+    { titlescreen_initial,             "[titlescreen_initial]"         },
+    { titlescreen,                     "[titlescreen]"                 },
     { titlemessage_initial,            "[titlemessage_initial]"        },
     { titlemessage,                    "[titlemessage]"                },
 
@@ -9112,7 +9148,7 @@ static void LoadMenuDesignSettingsFromFilename(char *filename)
 
        tfi = *info;
 
-       *(boolean *)title_tokens[j].value = (boolean)parameter_value;
+       *(int *)title_tokens[j].value = (int)parameter_value;
 
        *info = tfi;
       }
@@ -9142,9 +9178,9 @@ static void LoadMenuDesignSettingsFromFilename(char *filename)
          tmi = array[k];
 
          if (titlemessage_tokens[j].type == TYPE_INTEGER)
-           *(boolean *)titlemessage_tokens[j].value = (boolean)parameter_value;
-         else
            *(int     *)titlemessage_tokens[j].value = (int)parameter_value;
+         else
+           *(boolean *)titlemessage_tokens[j].value = (boolean)parameter_value;
 
          array[k] = tmi;
        }