summaryrefslogtreecommitdiff
path: root/src/table/settings/locale_settings.ini
diff options
context:
space:
mode:
authorPatric Stout <truebrain@openttd.org>2021-07-09 21:16:03 +0200
committerGitHub <noreply@github.com>2021-07-09 21:16:03 +0200
commit8f5d0ecde39cbaf2ac1a6d27e82239bfc3bf1515 (patch)
tree232daba5b6f77f8ae33191c0b88dd21ef662a1c1 /src/table/settings/locale_settings.ini
parentd9ca9ca55571829af88429147e20bf0734e07e2d (diff)
downloadopenttd-8f5d0ecde39cbaf2ac1a6d27e82239bfc3bf1515.tar.xz
Codechange: split settings.ini over several files (#9421)
This reduced the load on compilers, as currently for example MacOS doesn't like the huge settings-tables. Additionally, nobody can find settings, as the list is massive and unordered. By splitting it, it becomes a little bit more sensible.
Diffstat (limited to 'src/table/settings/locale_settings.ini')
-rw-r--r--src/table/settings/locale_settings.ini177
1 files changed, 177 insertions, 0 deletions
diff --git a/src/table/settings/locale_settings.ini b/src/table/settings/locale_settings.ini
new file mode 100644
index 000000000..777ae15cf
--- /dev/null
+++ b/src/table/settings/locale_settings.ini
@@ -0,0 +1,177 @@
+; This file is part of OpenTTD.
+; OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+; OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+; See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+;
+
+; Locale settings as stored in the main configuration file ("openttd.cfg") and
+; in the savegame PATS chunk. These settings are not sync'd over the network.
+
+[pre-amble]
+uint8 _old_units; ///< Old units from old savegames
+
+static std::initializer_list<const char*> _locale_currencies{"GBP", "USD", "EUR", "YEN", "ATS", "BEF", "CHF", "CZK", "DEM", "DKK", "ESP", "FIM", "FRF", "GRD", "HUF", "ISK", "ITL", "NLG", "NOK", "PLN", "RON", "RUR", "SIT", "SEK", "YTL", "SKK", "BRL", "EEK", "custom"};
+static std::initializer_list<const char*> _locale_units{"imperial", "metric", "si", "gameunits"};
+
+static const SettingVariant _locale_settings_table[] = {
+[post-amble]
+};
+[templates]
+SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $var, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
+SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $load, $cat, $extra, $startup),
+SDT_SSTR = SDT_SSTR(GameSettings, $var, $type, $flags, $def, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
+
+[validation]
+SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
+SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
+
+[defaults]
+flags = SF_NONE
+interval = 0
+str = STR_NULL
+strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
+strval = STR_NULL
+pre_cb = nullptr
+post_cb = nullptr
+load = nullptr
+from = SL_MIN_VERSION
+to = SL_MAX_VERSION
+cat = SC_ADVANCED
+extra = 0
+startup = false
+
+
+[SDT_OMANY]
+var = locale.currency
+type = SLE_UINT8
+from = SLV_97
+flags = SF_NO_NETWORK_SYNC
+def = 0
+max = CURRENCY_END - 1
+full = _locale_currencies
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+
+[SDTG_OMANY]
+name = ""units""
+var = _old_units
+type = SLE_UINT8
+from = SLV_97
+to = SLV_184
+flags = SF_NOT_IN_CONFIG
+def = 1
+max = 2
+full = _locale_units
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+
+[SDT_OMANY]
+var = locale.units_velocity
+type = SLE_UINT8
+from = SLV_184
+flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
+def = 1
+max = 3
+full = _locale_units
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+str = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY
+strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT
+strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL
+
+[SDT_OMANY]
+var = locale.units_power
+type = SLE_UINT8
+from = SLV_184
+flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
+def = 1
+max = 2
+full = _locale_units
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+str = STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER
+strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT
+strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL
+
+[SDT_OMANY]
+var = locale.units_weight
+type = SLE_UINT8
+from = SLV_184
+flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
+def = 1
+max = 2
+full = _locale_units
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+str = STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT
+strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT
+strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL
+
+[SDT_OMANY]
+var = locale.units_volume
+type = SLE_UINT8
+from = SLV_184
+flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
+def = 1
+max = 2
+full = _locale_units
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+str = STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME
+strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT
+strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL
+
+[SDT_OMANY]
+var = locale.units_force
+type = SLE_UINT8
+from = SLV_184
+flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
+def = 2
+max = 2
+full = _locale_units
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+str = STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE
+strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT
+strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL
+
+[SDT_OMANY]
+var = locale.units_height
+type = SLE_UINT8
+from = SLV_184
+flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
+def = 1
+max = 2
+full = _locale_units
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+str = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT
+strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT
+strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL
+
+[SDT_SSTR]
+var = locale.digit_group_separator
+type = SLE_STRQ
+from = SLV_118
+flags = SF_NO_NETWORK_SYNC
+def = nullptr
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+
+[SDT_SSTR]
+var = locale.digit_group_separator_currency
+type = SLE_STRQ
+from = SLV_118
+flags = SF_NO_NETWORK_SYNC
+def = nullptr
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC
+
+[SDT_SSTR]
+var = locale.digit_decimal_separator
+type = SLE_STRQ
+from = SLV_126
+flags = SF_NO_NETWORK_SYNC
+def = nullptr
+post_cb = [](auto) { MarkWholeScreenDirty(); }
+cat = SC_BASIC