Codechange: move network-related settings out of settings.ini

This to prepare the code to split up network-related settings
into private / secrets / generic.
pull/332/head
Patric Stout 3 years ago committed by Patric Stout
parent 9c7a7b53a1
commit a42251fc72

@ -89,6 +89,21 @@ static ErrorList _settings_error_list; ///< Errors while loading minimal setting
typedef span<const SettingVariant> SettingTable;
/**
* List of all the setting tables.
*
* There are a few tables that are special and not processed like the rest:
* - _currency_settings
* - _misc_settings
* - _company_settings
* - _win32_settings
* As such, they are not part of this list.
*/
static const SettingTable _setting_tables[] = {
_settings,
_network_settings,
};
typedef void SettingDescProc(IniFile *ini, const SettingTable &desc, const char *grpname, void *object, bool only_startup);
typedef void SettingDescProcList(IniFile *ini, const char *grpname, StringList &list);
@ -1542,7 +1557,11 @@ static void HandleSettingDescs(IniFile *ini, SettingDescProc *proc, SettingDescP
proc(ini, _win32_settings, "win32", nullptr, only_startup);
#endif /* _WIN32 */
proc(ini, _settings, "patches", &_settings_newgame, only_startup);
for (auto &table : _setting_tables) {
/* The name "patches" is a fallback, as every setting should sets its own group. */
proc(ini, table, "patches", &_settings_newgame, only_startup);
}
proc(ini, _currency_settings,"currency", &_custom_currency, only_startup);
proc(ini, _company_settings, "company", &_settings_client.company, only_startup);
@ -1773,8 +1792,10 @@ static const SettingDesc *GetCompanySettingFromName(std::string_view name)
*/
const SettingDesc *GetSettingFromName(const std::string_view name)
{
auto sd = GetSettingFromName(name, _settings);
if (sd != nullptr) return sd;
for (auto &table : _setting_tables) {
auto sd = GetSettingFromName(name, table);
if (sd != nullptr) return sd;
}
return GetCompanySettingFromName(name);
}
@ -2016,13 +2037,15 @@ void IConsoleListSettings(const char *prefilter)
{
IConsolePrint(CC_HELP, "All settings with their current value:");
for (auto &desc : _settings) {
const SettingDesc *sd = GetSettingDesc(desc);
if (!SlIsObjectCurrentlyValid(sd->save.version_from, sd->save.version_to)) continue;
if (prefilter != nullptr && sd->name.find(prefilter) == std::string::npos) continue;
char value[80];
sd->FormatValue(value, lastof(value), &GetGameSettings());
IConsolePrint(CC_DEFAULT, "{} = {}", sd->name, value);
for (auto &table : _setting_tables) {
for (auto &desc : table) {
const SettingDesc *sd = GetSettingDesc(desc);
if (!SlIsObjectCurrentlyValid(sd->save.version_from, sd->save.version_to)) continue;
if (prefilter != nullptr && sd->name.find(prefilter) == std::string::npos) continue;
char value[80];
sd->FormatValue(value, lastof(value), &GetGameSettings());
IConsolePrint(CC_DEFAULT, "{} = {}", sd->name, value);
}
}
IConsolePrint(CC_HELP, "Use 'setting' command to change a value.");

@ -6,6 +6,7 @@ set(TABLE_INI_SOURCE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/currency_settings.ini
${CMAKE_CURRENT_SOURCE_DIR}/gameopt_settings.ini
${CMAKE_CURRENT_SOURCE_DIR}/misc_settings.ini
${CMAKE_CURRENT_SOURCE_DIR}/network_settings.ini
${CMAKE_CURRENT_SOURCE_DIR}/settings.ini
${CMAKE_CURRENT_SOURCE_DIR}/win32_settings.ini
${CMAKE_CURRENT_SOURCE_DIR}/window_settings.ini

@ -0,0 +1,331 @@
; 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/>.
;
; Network settings as stored in the main configuration file ("openttd.cfg").
[pre-amble]
static bool ReplaceAsteriskWithEmptyPassword(std::string &newval);
static void UpdateClientConfigValues();
static const SettingVariant _network_settings[] = {
[post-amble]
};
[templates]
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
SDTC_SSTR = SDTC_SSTR( $var, $type, $flags, $def, $length, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
[validation]
SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $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
[SDTC_VAR]
var = network.sync_freq
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NOT_IN_CONFIG | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 100
min = 0
max = 100
cat = SC_EXPERT
[SDTC_VAR]
var = network.frame_freq
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NOT_IN_CONFIG | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 0
min = 0
max = 100
cat = SC_EXPERT
[SDTC_VAR]
var = network.commands_per_frame
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 2
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.max_commands_in_queue
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 16
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.bytes_per_frame
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 8
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.bytes_per_frame_burst
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 256
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.max_init_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 100
min = 0
max = 32000
cat = SC_EXPERT
[SDTC_VAR]
var = network.max_join_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 500
min = 0
max = 32000
[SDTC_VAR]
var = network.max_download_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 1000
min = 0
max = 32000
[SDTC_VAR]
var = network.max_password_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 2000
min = 0
max = 32000
[SDTC_VAR]
var = network.max_lag_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 500
min = 0
max = 32000
[SDTC_BOOL]
var = network.pause_on_join
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = true
[SDTC_VAR]
var = network.server_port
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = NETWORK_DEFAULT_PORT
min = 0
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.server_admin_port
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = NETWORK_ADMIN_PORT
min = 0
max = 65535
cat = SC_EXPERT
[SDTC_BOOL]
var = network.server_admin_chat
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = true
cat = SC_EXPERT
[SDTC_BOOL]
var = network.server_advertise
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = false
[SDTC_SSTR]
var = network.client_name
type = SLE_STR
length = NETWORK_CLIENT_NAME_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = nullptr
pre_cb = NetworkValidateClientName
post_cb = NetworkUpdateClientName
cat = SC_BASIC
[SDTC_SSTR]
var = network.server_password
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
pre_cb = ReplaceAsteriskWithEmptyPassword
post_cb = [](auto) { NetworkServerUpdateGameInfo(); }
cat = SC_BASIC
[SDTC_SSTR]
var = network.rcon_password
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
pre_cb = ReplaceAsteriskWithEmptyPassword
cat = SC_BASIC
[SDTC_SSTR]
var = network.admin_password
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
cat = SC_BASIC
[SDTC_SSTR]
var = network.default_company_pass
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = nullptr
[SDTC_SSTR]
var = network.server_name
type = SLE_STR
length = NETWORK_NAME_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
pre_cb = NetworkValidateServerName
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_SSTR]
var = network.connect_to_ip
type = SLE_STR
length = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = nullptr
[SDTC_SSTR]
var = network.network_id
type = SLE_STR
length = NETWORK_SERVER_ID_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
[SDTC_BOOL]
var = network.autoclean_companies
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = false
[SDTC_VAR]
var = network.autoclean_unprotected
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 12
min = 0
max = 240
[SDTC_VAR]
var = network.autoclean_protected
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 36
min = 0
max = 240
[SDTC_VAR]
var = network.autoclean_novehicles
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 0
min = 0
max = 240
[SDTC_VAR]
var = network.max_companies
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 15
min = 1
max = MAX_COMPANIES
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_VAR]
var = network.max_clients
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 25
min = 2
max = MAX_CLIENTS
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_VAR]
var = network.max_spectators
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 15
min = 0
max = MAX_CLIENTS
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_VAR]
var = network.restart_game_year
type = SLE_INT32
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 0
min = MIN_YEAR
max = MAX_YEAR
interval = 1
[SDTC_VAR]
var = network.min_active_clients
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 0
min = 0
max = MAX_CLIENTS
[SDTC_BOOL]
var = network.reload_cfg
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = false
cat = SC_EXPERT
[SDTC_SSTR]
var = network.last_joined
type = SLE_STR
length = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = """"
cat = SC_EXPERT
[SDTC_BOOL]
var = network.no_http_content_downloads
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = false
cat = SC_EXPERT

@ -35,9 +35,6 @@ static void SpriteZoomMinChanged(int32 new_value);
static void MaxVehiclesChanged(int32 new_value);
static void InvalidateShipPathCache(int32 new_value);
static bool ReplaceAsteriskWithEmptyPassword(std::string &newval);
static void UpdateClientConfigValues();
/* End - Callback Functions for the various settings */
/* Some settings do not need to be synchronised when playing in multiplayer.
@ -3550,296 +3547,3 @@ def = 20
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.sync_freq
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NOT_IN_CONFIG | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 100
min = 0
max = 100
cat = SC_EXPERT
[SDTC_VAR]
var = network.frame_freq
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NOT_IN_CONFIG | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 0
min = 0
max = 100
cat = SC_EXPERT
[SDTC_VAR]
var = network.commands_per_frame
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 2
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.max_commands_in_queue
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 16
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.bytes_per_frame
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 8
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.bytes_per_frame_burst
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 256
min = 1
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.max_init_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 100
min = 0
max = 32000
cat = SC_EXPERT
[SDTC_VAR]
var = network.max_join_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 500
min = 0
max = 32000
[SDTC_VAR]
var = network.max_download_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 1000
min = 0
max = 32000
[SDTC_VAR]
var = network.max_password_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 2000
min = 0
max = 32000
[SDTC_VAR]
var = network.max_lag_time
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 500
min = 0
max = 32000
[SDTC_BOOL]
var = network.pause_on_join
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = true
[SDTC_VAR]
var = network.server_port
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = NETWORK_DEFAULT_PORT
min = 0
max = 65535
cat = SC_EXPERT
[SDTC_VAR]
var = network.server_admin_port
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = NETWORK_ADMIN_PORT
min = 0
max = 65535
cat = SC_EXPERT
[SDTC_BOOL]
var = network.server_admin_chat
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = true
cat = SC_EXPERT
[SDTC_BOOL]
var = network.server_advertise
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = false
[SDTC_SSTR]
var = network.client_name
type = SLE_STR
length = NETWORK_CLIENT_NAME_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = nullptr
pre_cb = NetworkValidateClientName
post_cb = NetworkUpdateClientName
cat = SC_BASIC
[SDTC_SSTR]
var = network.server_password
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
pre_cb = ReplaceAsteriskWithEmptyPassword
post_cb = [](auto) { NetworkServerUpdateGameInfo(); }
cat = SC_BASIC
[SDTC_SSTR]
var = network.rcon_password
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
pre_cb = ReplaceAsteriskWithEmptyPassword
cat = SC_BASIC
[SDTC_SSTR]
var = network.admin_password
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
cat = SC_BASIC
[SDTC_SSTR]
var = network.default_company_pass
type = SLE_STR
length = NETWORK_PASSWORD_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = nullptr
[SDTC_SSTR]
var = network.server_name
type = SLE_STR
length = NETWORK_NAME_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
pre_cb = NetworkValidateServerName
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_SSTR]
var = network.connect_to_ip
type = SLE_STR
length = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = nullptr
[SDTC_SSTR]
var = network.network_id
type = SLE_STR
length = NETWORK_SERVER_ID_LENGTH
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = nullptr
[SDTC_BOOL]
var = network.autoclean_companies
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = false
[SDTC_VAR]
var = network.autoclean_unprotected
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 12
min = 0
max = 240
[SDTC_VAR]
var = network.autoclean_protected
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 36
min = 0
max = 240
[SDTC_VAR]
var = network.autoclean_novehicles
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 0
min = 0
max = 240
[SDTC_VAR]
var = network.max_companies
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 15
min = 1
max = MAX_COMPANIES
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_VAR]
var = network.max_clients
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 25
min = 2
max = MAX_CLIENTS
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_VAR]
var = network.max_spectators
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 15
min = 0
max = MAX_CLIENTS
post_cb = [](auto) { UpdateClientConfigValues(); }
cat = SC_BASIC
[SDTC_VAR]
var = network.restart_game_year
type = SLE_INT32
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NETWORK_ONLY
def = 0
min = MIN_YEAR
max = MAX_YEAR
interval = 1
[SDTC_VAR]
var = network.min_active_clients
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = 0
min = 0
max = MAX_CLIENTS
[SDTC_BOOL]
var = network.reload_cfg
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY
def = false
cat = SC_EXPERT
[SDTC_SSTR]
var = network.last_joined
type = SLE_STR
length = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = """"
cat = SC_EXPERT
[SDTC_BOOL]
var = network.no_http_content_downloads
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = false
cat = SC_EXPERT

Loading…
Cancel
Save