mirror of https://github.com/OpenTTD/OpenTTD.git
199 lines
6.8 KiB
INI
199 lines
6.8 KiB
INI
; 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]
|
|
static void SettingsValueVelocityUnit(const IntSettingDesc &sd, uint first_param, int32_t value);
|
|
|
|
uint8_t _old_units; ///< Old units from old savegames
|
|
|
|
static constexpr std::initializer_list<const char*> _locale_currencies{"GBP", "USD", "EUR", "JPY", "ATS", "BEF", "CHF", "CZK", "DEM", "DKK", "ESP", "FIM", "FRF", "GRD", "HUF", "ISK", "ITL", "NLG", "NOK", "PLN", "RON", "RUR", "SIT", "SEK", "TRY", "SKK", "BRL", "EEK", "LTL", "KRW", "ZAR", "custom", "GEL", "IRR", "RUB", "MXN", "NTD", "CNY", "HKD", "INR", "IDR", "MYR", "LVL"};
|
|
static constexpr std::initializer_list<const char*> _locale_units{"imperial", "metric", "si", "gameunits", "knots"};
|
|
|
|
static_assert(_locale_currencies.size() == CURRENCY_END);
|
|
|
|
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, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup),
|
|
SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_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
|
|
str_cb = nullptr
|
|
help_cb = nullptr
|
|
val_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 = 4
|
|
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
|
|
val_cb = SettingsValueVelocityUnit
|
|
|
|
[SDT_OMANY]
|
|
var = locale.units_velocity_nautical
|
|
type = SLE_UINT8
|
|
from = SLV_VELOCITY_NAUTICAL
|
|
flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
|
def = 1
|
|
max = 4
|
|
full = _locale_units
|
|
post_cb = [](auto) { MarkWholeScreenDirty(); }
|
|
cat = SC_BASIC
|
|
str = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL
|
|
strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT
|
|
val_cb = SettingsValueVelocityUnit
|
|
|
|
[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
|