Files @ r28801:c5b7832cf53a
Branch filter:

Location: cpp/openttd-patchpack/source/src/table/settings/locale_settings.ini

Rubidium
Revert #11993: new number format system does not and cannot work for CJK languages

There are too many intricacies that I am unaware of that are popping up after
asking whether things are right or not.
I do not want to keep playing whack-a-mole, so just revert the whole thing.

This reverts:
15be383b934dbf7c876b6d6ffaec7a406c82a39f
360fe8b0b639be9d39bc03a9d5d34123204c14fa
1aa9a5c0abaf9c5d6c49a3a76e2b1d7134c0bd10
59f56941e50bd4ebad31f9e771a4441f647692e5
7e2eefb91ff5999667752eea6e13bd8a0d293f48
b741b2ba6f790891961cb66a9320e75ca168cee4
609d0071d5e6b93aa61688714e9b92cf102e4683
9f8fd80112c188675179c9568a9be84da3df1713
a253205b932cc50fc9f25be390a6aaa370f89a45
819c6c756edd68599571eae126f305d6e3d247fc
; 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