Merge branch 'master' into jgrpp-beta

# Conflicts:
#	.github/workflows/commit-checker.yml
#	src/company_cmd.cpp
#	src/console_cmds.cpp
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/indonesian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/swedish.txt
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/mcf.cpp
#	src/network/core/tcp.cpp
#	src/network/core/tcp.h
#	src/network/core/tcp_game.h
#	src/network/core/udp.h
#	src/network/network.cpp
#	src/network/network_admin.cpp
#	src/network/network_admin.h
#	src/network/network_chat_gui.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_func.h
#	src/network/network_internal.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf.cpp
#	src/newgrf_station.cpp
#	src/order_gui.cpp
#	src/rail_cmd.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/currency_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/terraform_cmd.cpp
#	src/timetable_gui.cpp
#	src/train_cmd.cpp
#	src/tree_cmd.cpp
#	src/water_cmd.cpp
This commit is contained in:
Jonathan G Rennison
2021-09-27 22:47:13 +01:00
204 changed files with 1829 additions and 1549 deletions

View File

@@ -96,7 +96,7 @@ static const CargoSpec _default_cargo[] = {
/** Table of cargo types available in each climate, by default */
static const CargoLabel _default_climate_cargo[NUM_LANDSCAPE][12] = {
static const CargoLabel _default_climate_cargo[NUM_LANDSCAPE][NUM_ORIGINAL_CARGO] = {
{ 'PASS', 'COAL', 'MAIL', 'OIL_', 'LVST', 'GOOD', 'GRAI', 'WOOD', 'IORE', 'STEL', 'VALU', 33, },
{ 'PASS', 'COAL', 'MAIL', 'OIL_', 'LVST', 'GOOD', 'WHEA', 'WOOD', 34, 'PAPR', 'GOLD', 'FOOD', },
{ 'PASS', 'RUBR', 'MAIL', 4, 'FRUT', 'GOOD', 'MAIZ', 11, 'CORE', 'WATR', 'DIAM', 'FOOD', },

View File

@@ -9,9 +9,9 @@ static const SettingDesc _currency_settings[] = {
[post-amble]
};
[templates]
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDT_END = SDT_END()
SDT_VAR = SDT_VAR ($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
SDT_SSTR = SDT_SSTR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDT_END = SDT_END()
[validation]
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
@@ -42,10 +42,10 @@ def = 1
min = 0
max = UINT16_MAX
[SDT_STR]
[SDT_SSTR]
base = CurrencySpec
var = separator
type = SLE_STRBQ
type = SLE_STRQ
def = "".""
cat = SC_BASIC
@@ -57,16 +57,16 @@ def = 0
min = MIN_YEAR
max = MAX_YEAR
[SDT_STR]
[SDT_SSTR]
base = CurrencySpec
var = prefix
type = SLE_STRBQ
type = SLE_STRQ
def = nullptr
[SDT_STR]
[SDT_SSTR]
base = CurrencySpec
var = suffix
type = SLE_STRBQ
type = SLE_STRQ
def = "" credits""
[SDT_END]

View File

@@ -16,14 +16,13 @@ extern bool _allow_hidpi_window;
#define WITHOUT_COCOA
#endif
static const SettingDescGlobVarList _misc_settings[] = {
static const SettingDesc _misc_settings[] = {
[post-amble]
};
[templates]
SDTG_LIST = SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDTG_SSTR = SDTG_SSTR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
@@ -164,16 +163,16 @@ var = _cur_resolution
def = ""0,0""
cat = SC_BASIC
[SDTG_STR]
[SDTG_SSTR]
name = ""screenshot_format""
type = SLE_STRB
type = SLE_STR
var = _screenshot_format_name
def = nullptr
cat = SC_EXPERT
[SDTG_STR]
[SDTG_SSTR]
name = ""savegame_format""
type = SLE_STRB
type = SLE_STR
var = _savegame_format
def = nullptr
cat = SC_EXPERT
@@ -183,31 +182,31 @@ name = ""rightclick_emulate""
var = _rightclick_emulate
def = false
[SDTG_STR]
[SDTG_SSTR]
ifdef = HAS_TRUETYPE_FONT
name = ""small_font""
type = SLE_STRB
type = SLE_STR
var = _freetype.small.font
def = nullptr
[SDTG_STR]
[SDTG_SSTR]
ifdef = HAS_TRUETYPE_FONT
name = ""medium_font""
type = SLE_STRB
type = SLE_STR
var = _freetype.medium.font
def = nullptr
[SDTG_STR]
[SDTG_SSTR]
ifdef = HAS_TRUETYPE_FONT
name = ""large_font""
type = SLE_STRB
type = SLE_STR
var = _freetype.large.font
def = nullptr
[SDTG_STR]
[SDTG_SSTR]
ifdef = HAS_TRUETYPE_FONT
name = ""mono_font""
type = SLE_STRB
type = SLE_STR
var = _freetype.mono.font
def = nullptr
@@ -316,16 +315,16 @@ min = 0
max = 0xFF
cat = SC_BASIC
[SDTG_STR]
[SDTG_SSTR]
name = ""keyboard""
type = SLE_STRB
type = SLE_STR
var = _keyboard_opt[0]
def = nullptr
cat = SC_EXPERT
[SDTG_STR]
[SDTG_SSTR]
name = ""keyboard_caps""
type = SLE_STRB
type = SLE_STR
var = _keyboard_opt[1]
def = nullptr
cat = SC_EXPERT

View File

@@ -23,9 +23,7 @@ static size_t ConvertLandscape(const char *value);
* The macros can be grouped depending on where the config variable is
* stored:
* 1. SDTG_something
* These are for global variables, so this is the one you will use
* for a #SettingDescGlobVarList section. Here 'var' refers to a
* global variable.
* These are for global variables. Here 'var' refers to a global variable.
* 2. SDTC_something
* These are for client-only variables. Here the 'var' refers to an
* entry inside _settings_client.
@@ -119,6 +117,9 @@ static size_t ConvertLandscape(const char *value);
#define SDT_STR(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)\
SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, sizeof(((base*)8)->var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, nullptr, from, to, cat, startup, extver, patxname)
#define SDT_SSTR(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)\
SDT_GENERAL(#var, SDT_STDSTRING, SL_STDSTR, type, flags, guiflags, base, var, sizeof(((base*)8)->var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, nullptr, from, to, cat, startup, extver, patxname)
#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to, load, cat, startup, extver, patxname)\
SDT_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, load, from, to, cat, startup, extver, patxname)
@@ -144,6 +145,9 @@ static size_t ConvertLandscape(const char *value);
#define SDTC_STR(var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)\
SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, sizeof(_settings_client.var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)
#define SDTC_SSTR(var, type, flags, guiflags, def, max_length, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)\
SDTG_GENERAL(#var, SDT_STDSTRING, SL_STDSTR, type, flags, guiflags, _settings_client.var, sizeof(_settings_client.var), def, 0, max_length, 0, nullptr, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)
#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)\
SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, from, to, cat, startup, extver, patxname)

View File

@@ -135,7 +135,7 @@ static const SettingDescEnumEntry _train_braking_model[] = {
* It is also a bit tricky since you would think that service_interval
* for example doesn't need to be synched. Every client assigns the
* service_interval value to the v->service_interval, meaning that every client
* assigns his value. If the setting was company-based, that would mean that
* assigns its own value. If the setting was company-based, that would mean that
* vehicles could decide on different moments that they are heading back to a
* service depot, causing desyncs on a massive scale. */
const SettingDesc _settings[] = {
@@ -149,11 +149,11 @@ SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def,
SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDTC_SSTR = SDTC_SSTR( $var, $type, $flags, $guiflags, $def, $length, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname, $orderproc),
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $load, $cat, $startup, $extver, $patxname),
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDT_SSTR = SDT_SSTR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname),
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, $patxname, $orderproc),
SDT_ENUM = SDT_ENUM($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $proc, $from, $to, $cat, $startup, $extver, $patxname, $enumlist),
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
@@ -4238,7 +4238,7 @@ str = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT
strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT
strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL
[SDT_STR]
[SDT_SSTR]
base = GameSettings
var = locale.digit_group_separator
type = SLE_STRQ
@@ -4248,7 +4248,7 @@ def = nullptr
proc = RedrawScreen
cat = SC_BASIC
[SDT_STR]
[SDT_SSTR]
base = GameSettings
var = locale.digit_group_separator_currency
type = SLE_STRQ
@@ -4258,7 +4258,7 @@ def = nullptr
proc = RedrawScreen
cat = SC_BASIC
[SDT_STR]
[SDT_SSTR]
base = GameSettings
var = locale.digit_decimal_separator
type = SLE_STRQ
@@ -6178,73 +6178,82 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def = false
[SDTC_STR]
[SDTC_SSTR]
var = network.client_name
type = SLE_STRB
type = SLE_STR
length = NETWORK_CLIENT_NAME_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = nullptr
proc = UpdateClientName
cat = SC_BASIC
[SDTC_STR]
[SDTC_SSTR]
var = network.server_password
type = SLE_STRB
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def = nullptr
proc = UpdateServerPassword
cat = SC_BASIC
[SDTC_STR]
[SDTC_SSTR]
var = network.rcon_password
type = SLE_STRB
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def = nullptr
proc = UpdateRconPassword
cat = SC_BASIC
[SDTC_STR]
[SDTC_SSTR]
var = network.admin_password
type = SLE_STRB
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def = nullptr
cat = SC_BASIC
[SDTC_STR]
[SDTC_SSTR]
var = network.settings_password
type = SLE_STRB
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def = nullptr
proc = UpdateSettingsPassword
cat = SC_EXPERT
[SDTC_STR]
[SDTC_SSTR]
var = network.default_company_pass
type = SLE_STRB
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = nullptr
[SDTC_STR]
[SDTC_SSTR]
var = network.server_name
type = SLE_STRB
type = SLE_STR
length = NETWORK_NAME_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def = nullptr
proc = UpdateClientConfigValues
cat = SC_BASIC
[SDTC_STR]
[SDTC_SSTR]
var = network.connect_to_ip
type = SLE_STRB
type = SLE_STR
length = 0
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = nullptr
[SDTC_STR]
[SDTC_SSTR]
var = network.network_id
type = SLE_STRB
type = SLE_STR
length = NETWORK_SERVER_ID_LENGTH
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def = nullptr
@@ -6341,9 +6350,10 @@ guiflags = SGF_NETWORK_ONLY
def = false
cat = SC_EXPERT
[SDTC_STR]
[SDTC_SSTR]
var = network.last_joined
type = SLE_STRB
type = SLE_STR
length = 0
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = """"
cat = SC_EXPERT

View File

@@ -9,7 +9,7 @@
#if defined(_WIN32) && !defined(DEDICATED)
extern bool _window_maximize;
static const SettingDescGlobVarList _win32_settings[] = {
static const SettingDesc _win32_settings[] = {
[post-amble]
};
#endif /* _WIN32 */