Changeset - r17433:64e2236354f0
[Not reviewed]
master
0 8 0
rubidium - 14 years ago 2011-03-05 10:47:49
rubidium@openttd.org
(svn r22197) -Cleanup: remove the distinction between conditional and non-conditional settings; with default from and to savegame versions all can be conditional. They previously were as well; the non-conditional ones were macros of the conditionals with to/from saveload versions hardcoded
8 files changed with 207 insertions and 254 deletions:
0 comments (0 inline, 0 general)
src/table/company_settings.ini
Show inline comments
 
@@ -3,8 +3,8 @@ static const SettingDesc _company_settin
 
[post-amble]
 
};
 
[templates]
 
SDT_BOOL = SDT_BOOL($base, $var,        $flags, $guiflags, $def,                        $str, $proc),
 
SDT_VAR  =  SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc),
 
SDT_BOOL = SDT_BOOL($base, $var,        $flags, $guiflags, $def,                        $str, $proc, $from, $to),
 
SDT_VAR  =  SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
 
SDT_END  = SDT_END()
 

	
 
[defaults]
src/table/currency_settings.ini
Show inline comments
 
@@ -3,9 +3,9 @@ static const SettingDesc _currency_setti
 
[post-amble]
 
};
 
[templates]
 
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc),
 
SDT_CHR = SDT_CHR($base, $var,        $flags, $guiflags, $def,                        $str, $proc),
 
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def,                        $str, $proc),
 
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
 
SDT_CHR = SDT_CHR($base, $var,        $flags, $guiflags, $def,                        $str, $proc, $from, $to),
 
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def,                        $str, $proc, $from, $to),
 
SDT_END = SDT_END()
 

	
 
[defaults]
src/table/gameopt_settings.ini
Show inline comments
 
@@ -28,12 +28,12 @@ static const SettingDesc _gameopt_settin
 
[post-amble]
 
};
 
[templates]
 
SDTG_GENERAL   = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $proc, $from, $to),
 
SDT_CONDNULL   = SDT_CONDNULL($length, $from, $to),
 
SDTC_CONDOMANY = SDTC_CONDOMANY(  $var, $type, $from, $to, $flags, $guiflags, $def,       $max, $full,            $str, $proc),
 
SDT_OMANY      = SDT_OMANY($base, $var, $type,             $flags, $guiflags, $def,       $max, $full,            $str, $proc, $load),
 
SDT_VAR        =   SDT_VAR($base, $var, $type,             $flags, $guiflags, $def, $min, $max,        $interval, $str, $proc),
 
SDT_END        = SDT_END()
 
SDTG_GENERAL = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $proc, $from, $to),
 
SDT_NULL     =   SDT_NULL($length, $from, $to),
 
SDTC_OMANY   = SDTC_OMANY(       $var, $type, $flags, $guiflags, $def,       $max, $full,            $str, $proc, $from, $to),
 
SDT_OMANY    =  SDT_OMANY($base, $var, $type, $flags, $guiflags, $def,       $max, $full,            $str, $proc, $from, $to, $load),
 
SDT_VAR      =    SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max,        $interval, $str, $proc, $from, $to),
 
SDT_END      = SDT_END()
 

	
 
[defaults]
 
flags    = 0
 
@@ -129,11 +129,11 @@ def      = DEF_SNOWLINE_HEIGHT * TILE_HE
 
min      = MIN_SNOWLINE_HEIGHT * TILE_HEIGHT
 
max      = MAX_SNOWLINE_HEIGHT * TILE_HEIGHT
 

	
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 22
 

	
 
[SDTC_CONDOMANY]
 
[SDTC_OMANY]
 
var      = gui.autosave
 
type     = SLE_UINT8
 
from     = 23
src/table/misc_settings.ini
Show inline comments
 
@@ -5,12 +5,12 @@ static const SettingDescGlobVarList _mis
 
[post-amble]
 
};
 
[templates]
 
SDTG_CONDLIST = SDTG_CONDLIST($name, $type, $length, $flags, $guiflags, $var, $def,                               $str, $proc, $from, $to),
 
SDTG_MMANY    =    SDTG_MMANY($name, $type,          $flags, $guiflags, $var, $def,                        $full, $str, $proc),
 
SDTG_STR      =      SDTG_STR($name, $type,          $flags, $guiflags, $var, $def,                               $str, $proc),
 
SDTG_BOOL     =     SDTG_BOOL($name,                 $flags, $guiflags, $var, $def,                               $str, $proc),
 
SDTG_VAR      =      SDTG_VAR($name, $type,          $flags, $guiflags, $var, $def, $min, $max, $interval,        $str, $proc),
 
SDTG_END      = SDTG_END()
 
SDTG_LIST  =  SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def,                               $str, $proc, $from, $to),
 
SDTG_MMANY = SDTG_MMANY($name, $type,          $flags, $guiflags, $var, $def,                        $full, $str, $proc, $from, $to),
 
SDTG_STR   =   SDTG_STR($name, $type,          $flags, $guiflags, $var, $def,                               $str, $proc, $from, $to),
 
SDTG_BOOL  =  SDTG_BOOL($name,                 $flags, $guiflags, $var, $def,                               $str, $proc, $from, $to),
 
SDTG_VAR   =   SDTG_VAR($name, $type,          $flags, $guiflags, $var, $def, $min, $max, $interval,        $str, $proc, $from, $to),
 
SDTG_END   = SDTG_END()
 

	
 
[defaults]
 
flags    = 0
 
@@ -101,7 +101,7 @@ var      = _config_language_file
 
def      = NULL
 

	
 
; workaround for implicit lengthof() in SDTG_LIST
 
[SDTG_CONDLIST]
 
[SDTG_LIST]
 
name     = ""resolution""
 
type     = SLE_INT
 
length   = 2
src/table/music_settings.ini
Show inline comments
 
@@ -3,9 +3,9 @@ static const SettingDesc _music_settings
 
[post-amble]
 
};
 
[templates]
 
SDT_BOOL = SDT_BOOL($base, $var,        $flags, $guiflags, $def,                        $str, $proc),
 
SDT_VAR  =  SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc),
 
SDT_LIST = SDT_LIST($base, $var, $type, $flags, $guiflags, $def,                        $str, $proc),
 
SDT_BOOL = SDT_BOOL($base, $var,        $flags, $guiflags, $def,                        $str, $proc, $from, $to),
 
SDT_VAR  =  SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
 
SDT_LIST = SDT_LIST($base, $var, $type, $flags, $guiflags, $def,                        $str, $proc, $from, $to),
 
SDT_END  = SDT_END()
 

	
 
[defaults]
src/table/settings.h.preamble
Show inline comments
 
@@ -67,10 +67,6 @@ static bool UpdateClientConfigValues(int
 
 * SettingDescGlobVarList section meaning global variables. The other uses a
 
 * Base/Offset and runtime variable selection mechanism, known from the saveload
 
 * convention (it also has global so it should not be hard).
 
 * Of each type there are again two versions, the normal one and one prefixed
 
 * with 'COND'.
 
 * COND means that the setting is only valid in certain savegame versions
 
 * (since settings are saved to the savegame, this bookkeeping is necessary.
 
 * Now there are a lot of types. Easy ones are:
 
 * - VAR:  any number type, 'type' field specifies what number. eg int8 or uint32
 
 * - BOOL: a boolean number type
 
@@ -78,10 +74,6 @@ static bool UpdateClientConfigValues(int
 
 * A bit more difficult to use are MMANY (meaning ManyOfMany) and OMANY (OneOfMany)
 
 * These are actually normal numbers, only bitmasked. In MMANY several bits can
 
 * be set, in the other only one.
 
 * The most complex type is INTLIST. This is basically an array of numbers. If
 
 * the intlist is only valid in certain savegame versions because for example
 
 * it has grown in size its length cannot be automatically be calculated so
 
 * use SDT(G)_CONDLISTO() meaning Old.
 
 * If nothing fits you, you can use the GENERAL macros, but it exposes the
 
 * internal structure somewhat so it needs a little looking. There are _NULL()
 
 * macros as well, these fill up space so you can add more settings there (in
 
@@ -102,38 +94,26 @@ static bool UpdateClientConfigValues(int
 
#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, proc, from, to)\
 
	{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, proc, NULL), SLEG_GENERAL(sle_cmd, var, type | flags, length, from, to)}
 

	
 
#define SDTG_CONDVAR(name, type, flags, guiflags, var, def, min, max, interval, str, proc, from, to)\
 
#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, proc, from, to)\
 
	SDTG_GENERAL(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, NULL, str, proc, from, to)
 
#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, proc)\
 
	SDTG_CONDVAR(name, type, flags, guiflags, var, def, min, max, interval, str, proc, 0, SL_MAX_VERSION)
 

	
 
#define SDTG_CONDBOOL(name, flags, guiflags, var, def, str, proc, from, to)\
 
#define SDTG_BOOL(name, flags, guiflags, var, def, str, proc, from, to)\
 
	SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, NULL, str, proc, from, to)
 
#define SDTG_BOOL(name, flags, guiflags, var, def, str, proc)\
 
	SDTG_CONDBOOL(name, flags, guiflags, var, def, str, proc, 0, SL_MAX_VERSION)
 

	
 
#define SDTG_CONDLIST(name, type, length, flags, guiflags, var, def, str, proc, from, to)\
 
#define SDTG_LIST(name, type, length, flags, guiflags, var, def, str, proc, from, to)\
 
	SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, length, def, 0, 0, 0, NULL, str, proc, from, to)
 
#define SDTG_LIST(name, type, flags, guiflags, var, def, str, proc)\
 
	SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, lengthof(var), def, 0, 0, 0, NULL, str, proc, 0, SL_MAX_VERSION)
 

	
 
#define SDTG_CONDSTR(name, type, length, flags, guiflags, var, def, str, proc, from, to)\
 
	SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, length, def, 0, 0, 0, NULL, str, proc, from, to)
 
#define SDTG_STR(name, type, flags, guiflags, var, def, str, proc)\
 
	SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, lengthof(var), def, 0, 0, 0, NULL, str, proc, 0, SL_MAX_VERSION)
 
#define SDTG_STR(name, type, flags, guiflags, var, def, str, proc, from, to)\
 
	SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, lengthof(var), def, 0, 0, 0, NULL, str, proc, from, to)
 

	
 
#define SDTG_CONDOMANY(name, type, flags, guiflags, var, def, max, full, str, proc, from, to)\
 
#define SDTG_OMANY(name, type, flags, guiflags, var, def, max, full, str, proc, from, to)\
 
	SDTG_GENERAL(name, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, max, 0, full, str, proc, from, to)
 
#define SDTG_OMANY(name, type, flags, guiflags, var, def, max, full, str, proc)\
 
	SDTG_CONDOMANY(name, type, flags, guiflags, var, def, max, full, str, proc, 0, SL_MAX_VERSION)
 

	
 
#define SDTG_CONDMMANY(name, type, flags, guiflags, var, def, full, str, proc, from, to)\
 
#define SDTG_MMANY(name, type, flags, guiflags, var, def, full, str, proc, from, to)\
 
	SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, proc, from, to)
 
#define SDTG_MMANY(name, type, flags, guiflags, var, def, full, str, proc)\
 
	SDTG_CONDMMANY(name, type, flags, guiflags, var, def, full, str, proc, 0, SL_MAX_VERSION)
 

	
 
#define SDTG_CONDNULL(length, from, to)\
 
	{{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLEG_CONDNULL(length, from, to)}
 
#define SDTG_NULL(length, from, to)\
 
	{{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLEG_NULL(length, from, to)}
 

	
 
#define SDTG_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLEG_END()}
 

	
 
@@ -142,71 +122,45 @@ static bool UpdateClientConfigValues(int
 
#define SDT_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, proc, load, from, to)\
 
	{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, proc, load), SLE_GENERAL(sle_cmd, base, var, type | flags, length, from, to)}
 

	
 
#define SDT_CONDVAR(base, var, type, from, to, flags, guiflags, def, min, max, interval, str, proc)\
 
#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, proc, from, to)\
 
	SDT_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, NULL, str, proc, NULL, from, to)
 
#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, proc)\
 
	SDT_CONDVAR(base, var, type, 0, SL_MAX_VERSION, flags, guiflags, def, min, max, interval, str, proc)
 

	
 
#define SDT_CONDBOOL(base, var, from, to, flags, guiflags, def, str, proc)\
 
#define SDT_BOOL(base, var, flags, guiflags, def, str, proc, from, to)\
 
	SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, NULL, str, proc, NULL, from, to)
 
#define SDT_BOOL(base, var, flags, guiflags, def, str, proc)\
 
	SDT_CONDBOOL(base, var, 0, SL_MAX_VERSION, flags, guiflags, def, str, proc)
 

	
 
#define SDT_CONDLIST(base, var, type, from, to, flags, guiflags, def, str, proc)\
 
#define SDT_LIST(base, var, type, flags, guiflags, def, str, proc, from, to)\
 
	SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, proc, NULL, from, to)
 
#define SDT_LIST(base, var, type, flags, guiflags, def, str, proc)\
 
	SDT_CONDLIST(base, var, type, 0, SL_MAX_VERSION, flags, guiflags, def, str, proc)
 

	
 
#define SDT_CONDSTR(base, var, type, from, to, flags, guiflags, def, str, proc)\
 
#define SDT_STR(base, var, type, flags, guiflags, def, str, proc, from, to)\
 
	SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, proc, NULL, from, to)
 
#define SDT_STR(base, var, type, flags, guiflags, def, str, proc)\
 
	SDT_CONDSTR(base, var, type, 0, SL_MAX_VERSION, flags, guiflags, def, str, proc)
 
#define SDT_CONDSTRO(base, var, length, type, from, to, flags, def, str, proc)\
 
	SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, 0, base, var, length, def, 0, 0, NULL, str, proc, from, to)
 

	
 
#define SDT_CONDCHR(base, var, from, to, flags, guiflags, def, str, proc)\
 
#define SDT_CHR(base, var, flags, guiflags, def, str, proc, from, to)\
 
	SDT_GENERAL(#var, SDT_STRING, SL_VAR, SLE_CHAR, flags, guiflags, base, var, 1, def, 0, 0, 0, NULL, str, proc, NULL, from, to)
 
#define SDT_CHR(base, var, flags, guiflags, def, str, proc)\
 
	SDT_CONDCHR(base, var, 0, SL_MAX_VERSION, flags, guiflags, def, str, proc)
 

	
 
#define SDT_CONDOMANY(base, var, type, from, to, flags, guiflags, def, max, full, str, proc, load)\
 
#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, proc, from, to, load)\
 
	SDT_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, max, 0, full, str, proc, load, from, to)
 
#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, proc, load)\
 
	SDT_CONDOMANY(base, var, type, 0, SL_MAX_VERSION, flags, guiflags, def, max, full, str, proc, load)
 

	
 
#define SDT_CONDMMANY(base, var, type, from, to, flags, guiflags, def, full, str, proc)\
 
#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc, from, to)\
 
	SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, proc, NULL, from, to)
 
#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc)\
 
	SDT_CONDMMANY(base, var, type, 0, SL_MAX_VERSION, flags, guiflags, def, full, str, proc)
 

	
 
#define SDT_CONDNULL(length, from, to)\
 
#define SDT_NULL(length, from, to)\
 
	{{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLE_CONDNULL(length, from, to)}
 

	
 

	
 
#define SDTC_CONDVAR(var, type, from, to, flags, guiflags, def, min, max, interval, str, proc)\
 
#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, proc, from, to)\
 
	SDTG_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, NULL, str, proc, from, to)
 
#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, proc)\
 
	SDTC_CONDVAR(var, type, 0, SL_MAX_VERSION, flags, guiflags, def, min, max, interval, str, proc)
 

	
 
#define SDTC_CONDBOOL(var, from, to, flags, guiflags, def, str, proc)\
 
#define SDTC_BOOL(var, flags, guiflags, def, str, proc, from, to)\
 
	SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, NULL, str, proc, from, to)
 
#define SDTC_BOOL(var, flags, guiflags, def, str, proc)\
 
	SDTC_CONDBOOL(var, 0, SL_MAX_VERSION, flags, guiflags, def, str, proc)
 

	
 
#define SDTC_CONDLIST(var, type, length, flags, guiflags, def, str, proc, from, to)\
 
#define SDTC_LIST(var, type, length, flags, guiflags, def, str, proc, from, to)\
 
	SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, length, def, 0, 0, 0, NULL, str, proc, from, to)
 
#define SDTC_LIST(var, type, flags, guiflags, def, str, proc)\
 
	SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, proc, 0, SL_MAX_VERSION)
 

	
 
#define SDTC_CONDSTR(var, type, length, flags, guiflags, def, str, proc, from, to)\
 
	SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, length, def, 0, 0, 0, NULL, str, proc, from, to)
 
#define SDTC_STR(var, type, flags, guiflags, def, str, proc)\
 
	SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, proc, 0, SL_MAX_VERSION)
 
#define SDTC_STR(var, type, flags, guiflags, def, str, proc, from, to)\
 
	SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, proc, from, to)
 

	
 
#define SDTC_CONDOMANY(var, type, from, to, flags, guiflags, def, max, full, str, proc)\
 
#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, proc, from, to)\
 
	SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, proc, from, to)
 
#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, proc)\
 
	SDTC_CONDOMANY(var, type, 0, SL_MAX_VERSION, flags, guiflags, def, max, full, str, proc)
 

	
 
#define SDT_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLE_END()}
 

	
src/table/settings.ini
Show inline comments
 
@@ -12,21 +12,20 @@ const SettingDesc _settings[] = {
 
[post-amble]
 
};
 
[templates]
 
SDTG_CONDBOOL = SDTG_CONDBOOL($name,                          $flags, $guiflags, $var, $def,                        $str, $proc, $from, $to),
 
SDTG_CONDVAR  =  SDTG_CONDVAR($name,       $type,             $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc, $from, $to),
 
SDTC_BOOL     =     SDTC_BOOL(       $var,                    $flags, $guiflags, $def,                              $str, $proc),
 
SDT_BOOL      =      SDT_BOOL($base, $var,                    $flags, $guiflags, $def,                              $str, $proc),
 
SDTC_CONDBOOL = SDTC_CONDBOOL(       $var,        $from, $to, $flags, $guiflags, $def,                              $str, $proc),
 
SDT_CONDBOOL  =  SDT_CONDBOOL($base, $var,        $from, $to, $flags, $guiflags, $def,                              $str, $proc),
 
SDTC_OMANY    =    SDTC_OMANY(       $var, $type,             $flags, $guiflags, $def,             $max, $full,     $str, $proc),
 
SDT_CONDOMANY = SDT_CONDOMANY($base, $var, $type, $from, $to, $flags, $guiflags, $def,             $max, $full,     $str, $proc, $load),
 
SDT_CONDSTR   =   SDT_CONDSTR($base, $var, $type, $from, $to, $flags, $guiflags, $def,                              $str, $proc),
 
SDT_CONDVAR   =   SDT_CONDVAR($base, $var, $type, $from, $to, $flags, $guiflags, $def,       $min, $max, $interval, $str, $proc),
 
SDTC_STR      =      SDTC_STR(       $var, $type,             $flags, $guiflags, $def,                              $str, $proc),
 
SDTC_VAR      =      SDTC_VAR(       $var, $type,             $flags, $guiflags, $def,       $min, $max, $interval, $str, $proc),
 
SDT_VAR       =       SDT_VAR($base, $var, $type,             $flags, $guiflags, $def,       $min, $max, $interval, $str, $proc),
 
SDT_CONDNULL  = SDT_CONDNULL($length, $from, $to),
 
SDT_END       = SDT_END()
 
SDTG_BOOL  =  SDTG_BOOL($name,              $flags, $guiflags, $var, $def,                        $str, $proc, $from, $to),
 
SDTG_VAR   =   SDTG_VAR($name,       $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc, $from, $to),
 
SDTC_BOOL  =  SDTC_BOOL(       $var,        $flags, $guiflags, $def,                              $str, $proc, $from, $to),
 
SDT_BOOL   =   SDT_BOOL($base, $var,        $flags, $guiflags, $def,                              $str, $proc, $from, $to),
 
SDTC_DBOOL =  SDTC_BOOL(       $var,        $flags, $guiflags, $def,                              $str, $proc, $from, $to),
 
SDT_DBOOL  =   SDT_BOOL($base, $var,        $flags, $guiflags, $def,                              $str, $proc, $from, $to),
 
SDTC_OMANY = SDTC_OMANY(       $var, $type, $flags, $guiflags, $def,             $max, $full,     $str, $proc, $from, $to),
 
SDT_OMANY  =  SDT_OMANY($base, $var, $type, $flags, $guiflags, $def,             $max, $full,     $str, $proc, $from, $to, $load),
 
SDT_STR    =    SDT_STR($base, $var, $type, $flags, $guiflags, $def,                              $str, $proc, $from, $to),
 
SDTC_STR   =   SDTC_STR(       $var, $type, $flags, $guiflags, $def,                              $str, $proc, $from, $to),
 
SDTC_VAR   =   SDTC_VAR(       $var, $type, $flags, $guiflags, $def,       $min, $max, $interval, $str, $proc, $from, $to),
 
SDT_VAR    =    SDT_VAR($base, $var, $type, $flags, $guiflags, $def,       $min, $max, $interval, $str, $proc, $from, $to),
 
SDT_NULL   =   SDT_NULL($length, $from, $to),
 
SDT_END    = SDT_END()
 

	
 
[defaults]
 
flags    = 0
 
@@ -42,7 +41,7 @@ to       = SL_MAX_VERSION
 

	
 
; Saved settings variables.
 
; Do not ADD or REMOVE something in this "difficulty.XXX" table or before it. It breaks savegame compatability.
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.max_no_competitors
 
type     = SLE_UINT8
 
@@ -53,12 +52,12 @@ max      = MAX_COMPANIES-1
 
interval = 1
 
proc     = MaxNoAIsChange
 

	
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
from     = 97
 
to       = 109
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.number_towns
 
type     = SLE_UINT8
 
@@ -71,7 +70,7 @@ interval = 1
 
str      = STR_NUM_VERY_LOW
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.industry_density
 
type     = SLE_UINT8
 
@@ -84,7 +83,7 @@ interval = 1
 
str      = STR_FUNDING_ONLY
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.max_loan
 
type     = SLE_UINT32
 
@@ -96,7 +95,7 @@ max      = 500000
 
interval = 50000
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.initial_interest
 
type     = SLE_UINT8
 
@@ -108,7 +107,7 @@ max      = 4
 
interval = 1
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.vehicle_costs
 
type     = SLE_UINT8
 
@@ -121,7 +120,7 @@ interval = 1
 
str      = STR_SEA_LEVEL_LOW
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.competitor_speed
 
type     = SLE_UINT8
 
@@ -133,12 +132,12 @@ interval = 1
 
str      = STR_AI_SPEED_VERY_SLOW
 
proc     = DifficultyChange
 

	
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
from     = 97
 
to       = 109
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.vehicle_breakdowns
 
type     = SLE_UINT8
 
@@ -150,7 +149,7 @@ interval = 1
 
str      = STR_DISASTER_NONE
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.subsidy_multiplier
 
type     = SLE_UINT8
 
@@ -162,7 +161,7 @@ interval = 1
 
str      = STR_SUBSIDY_X1_5
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.construction_cost
 
type     = SLE_UINT8
 
@@ -175,7 +174,7 @@ interval = 1
 
str      = STR_SEA_LEVEL_LOW
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.terrain_type
 
type     = SLE_UINT8
 
@@ -188,7 +187,7 @@ interval = 1
 
str      = STR_TERRAIN_TYPE_VERY_FLAT
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.quantity_sea_lakes
 
type     = SLE_UINT8
 
@@ -201,7 +200,7 @@ interval = 1
 
str      = STR_SEA_LEVEL_VERY_LOW
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.economy
 
type     = SLE_UINT8
 
@@ -213,7 +212,7 @@ interval = 1
 
str      = STR_ECONOMY_STEADY
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.line_reverse_mode
 
type     = SLE_UINT8
 
@@ -225,7 +224,7 @@ interval = 1
 
str      = STR_REVERSE_AT_END_OF_LINE_AND_AT_STATIONS
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.disasters
 
type     = SLE_UINT8
 
@@ -237,7 +236,7 @@ interval = 1
 
str      = STR_DISASTERS_OFF
 
proc     = DifficultyChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.town_council_tolerance
 
type     = SLE_UINT8
 
@@ -249,7 +248,7 @@ interval = 1
 
str      = STR_CITY_APPROVAL_PERMISSIVE
 
proc     = DifficultyNoiseChange
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = difficulty.diff_level
 
type     = SLE_UINT8
 
@@ -261,7 +260,7 @@ proc     = DifficultyReset
 

	
 
; There are only 21 predefined town_name values (0-20), but you can have more with newgrf action F so allow
 
; these bigger values (21-255). Invalid values will fallback to english on use and (undefined string) in GUI.
 
[SDT_CONDOMANY]
 
[SDT_OMANY]
 
base     = GameSettings
 
var      = game_creation.town_name
 
type     = SLE_UINT8
 
@@ -271,7 +270,7 @@ def      = 0
 
max      = 255
 
full     = _town_names
 

	
 
[SDT_CONDOMANY]
 
[SDT_OMANY]
 
base     = GameSettings
 
var      = game_creation.landscape
 
type     = SLE_UINT8
 
@@ -282,7 +281,7 @@ max      = 3
 
full     = _climates
 
load     = ConvertLandscape
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.snow_line
 
type     = SLE_UINT8
 
@@ -292,7 +291,7 @@ def      = DEF_SNOWLINE_HEIGHT * TILE_HE
 
min      = MIN_SNOWLINE_HEIGHT * TILE_HEIGHT
 
max      = MAX_SNOWLINE_HEIGHT * TILE_HEIGHT
 

	
 
[SDT_CONDOMANY]
 
[SDT_OMANY]
 
base     = GameSettings
 
var      = vehicle.road_side
 
type     = SLE_UINT8
 
@@ -312,7 +311,7 @@ guiflags = NN
 
def      = true
 
str      = STR_CONFIG_SETTING_BUILDONSLOPES
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.command_pause_level
 
type     = SLE_UINT8
 
@@ -324,7 +323,7 @@ max      = 3
 
interval = 1
 
str      = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.terraform_per_64k_frames
 
type     = SLE_UINT32
 
@@ -334,7 +333,7 @@ min      = 0
 
max      = 1 << 30
 
interval = 1
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.terraform_frame_burst
 
type     = SLE_UINT16
 
@@ -344,7 +343,7 @@ min      = 0
 
max      = 1 << 30
 
interval = 1
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.clear_per_64k_frames
 
type     = SLE_UINT32
 
@@ -354,7 +353,7 @@ min      = 0
 
max      = 1 << 30
 
interval = 1
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.clear_frame_burst
 
type     = SLE_UINT16
 
@@ -364,7 +363,7 @@ min      = 0
 
max      = 1 << 30
 
interval = 1
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = construction.autoslope
 
from     = 75
 
@@ -377,7 +376,7 @@ var      = construction.extra_dynamite
 
def      = true
 
str      = STR_CONFIG_SETTING_EXTRADYNAMITE
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.max_bridge_length
 
type     = SLE_UINT16
 
@@ -389,7 +388,7 @@ max      = 2048
 
interval = 1
 
str      = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.max_tunnel_length
 
type     = SLE_UINT16
 
@@ -402,7 +401,7 @@ interval = 1
 
str      = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH
 

	
 
# construction.longbridges
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 158
 

	
 
@@ -422,7 +421,7 @@ guiflags = NN
 
def      = false
 
str      = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.town_layout
 
type     = SLE_UINT8
 
@@ -435,7 +434,7 @@ interval = 1
 
str      = STR_CONFIG_SETTING_TOWN_LAYOUT
 
proc     = TownFoundingChanged
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = economy.allow_town_roads
 
from     = 113
 
@@ -443,7 +442,7 @@ guiflags = NN
 
def      = true
 
str      = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.found_town
 
type     = SLE_UINT8
 
@@ -456,7 +455,7 @@ interval = 1
 
str      = STR_CONFIG_SETTING_TOWN_FOUNDING
 
proc     = TownFoundingChanged
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = economy.allow_town_level_crossings
 
from     = 143
 
@@ -478,7 +477,7 @@ interval = 1
 
str      = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL
 
proc     = TrainAccelerationModelChanged
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.roadveh_acceleration_model
 
type     = SLE_UINT8
 
@@ -491,7 +490,7 @@ interval = 1
 
str      = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL
 
proc     = RoadVehAccelerationModelChanged
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.train_slope_steepness
 
type     = SLE_UINT8
 
@@ -503,7 +502,7 @@ interval = 1
 
str      = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS
 
proc     = TrainSlopeSteepnessChanged
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.roadveh_slope_steepness
 
type     = SLE_UINT8
 
@@ -521,7 +520,7 @@ var      = pf.forbid_90_deg
 
def      = false
 
str      = STR_CONFIG_SETTING_FORBID_90_DEG
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.max_train_length
 
type     = SLE_UINT8
 
@@ -533,11 +532,11 @@ interval = 1
 
str      = STR_CONFIG_SETTING_TRAIN_LENGTH
 

	
 
; vehicle.mammoth_trains
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 158
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.smoke_amount
 
type     = SLE_UINT8
 
@@ -549,7 +548,7 @@ max      = 2
 
str      = STR_CONFIG_SETTING_SMOKE_AMOUNT
 

	
 
; order.gotodepot
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 158
 

	
 
@@ -561,27 +560,27 @@ var      = pf.roadveh_queue
 
def      = true
 
str      = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.new_pathfinding_all
 
to       = 86
 
def      = false
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.yapf.ship_use_yapf
 
from     = 28
 
to       = 86
 
def      = false
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.yapf.road_use_yapf
 
from     = 28
 
to       = 86
 
def      = true
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.yapf.rail_use_yapf
 
from     = 28
 
@@ -589,7 +588,7 @@ to       = 86
 
def      = true
 

	
 
##
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.pathfinder_for_trains
 
type     = SLE_UINT8
 
@@ -601,7 +600,7 @@ max      = 2
 
interval = 1
 
str      = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.pathfinder_for_roadvehs
 
type     = SLE_UINT8
 
@@ -613,7 +612,7 @@ max      = 2
 
interval = 1
 
str      = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.pathfinder_for_ships
 
type     = SLE_UINT8
 
@@ -672,14 +671,14 @@ max      = 5000
 
str      = STR_CONFIG_SETTING_MAX_SHIPS
 
proc     = RedrawScreen
 

	
 
[SDTG_CONDBOOL]
 
[SDTG_BOOL]
 
name     = NULL
 
guiflags = NN
 
var      = _old_vds.servint_ispercent
 
def      = false
 
to       = 119
 

	
 
[SDTG_CONDVAR]
 
[SDTG_VAR]
 
name     = NULL
 
type     = SLE_UINT16
 
guiflags = D0
 
@@ -689,7 +688,7 @@ min      = 5
 
max      = 800
 
to       = 119
 

	
 
[SDTG_CONDVAR]
 
[SDTG_VAR]
 
name     = NULL
 
type     = SLE_UINT16
 
guiflags = D0
 
@@ -699,7 +698,7 @@ min      = 5
 
max      = 800
 
to       = 119
 

	
 
[SDTG_CONDVAR]
 
[SDTG_VAR]
 
name     = NULL
 
type     = SLE_UINT16
 
guiflags = D0
 
@@ -709,7 +708,7 @@ min      = 5
 
max      = 800
 
to       = 119
 

	
 
[SDTG_CONDVAR]
 
[SDTG_VAR]
 
name     = NULL
 
type     = SLE_UINT16
 
guiflags = D0
 
@@ -733,7 +732,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_WAGONSPEEDLIMITS
 
proc     = UpdateConsists
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = vehicle.disable_elrails
 
from     = 38
 
@@ -742,7 +741,7 @@ def      = false
 
str      = STR_CONFIG_SETTING_DISABLE_ELRAILS
 
proc     = SettingsDisableElrail
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.freight_trains
 
type     = SLE_UINT8
 
@@ -756,12 +755,12 @@ str      = STR_CONFIG_SETTING_FREIGHT_TR
 
proc     = UpdateConsists
 

	
 
; order.timetabling
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
from     = 67
 
to       = 158
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.plane_speed
 
type     = SLE_UINT8
 
@@ -772,7 +771,7 @@ min      = 1
 
max      = 4
 
str      = STR_CONFIG_SETTING_PLANE_SPEED
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = vehicle.dynamic_engines
 
from     = 95
 
@@ -781,7 +780,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_DYNAMIC_ENGINES
 
proc     = ChangeDynamicEngines
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = vehicle.plane_crashes
 
type     = SLE_UINT8
 
@@ -794,11 +793,11 @@ interval = 1
 
str      = STR_CONFIG_SETTING_PLANE_CRASHES
 

	
 
; station.join_stations
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 158
 

	
 
[SDTC_CONDBOOL]
 
[SDTC_BOOL]
 
var      = gui.sg_full_load_any
 
from     = 22
 
to       = 92
 
@@ -817,14 +816,14 @@ var      = order.selectgoods
 
def      = true
 
str      = STR_CONFIG_SETTING_SELECTGOODS
 

	
 
[SDTC_CONDBOOL]
 
[SDTC_BOOL]
 
var      = gui.sg_new_nonstop
 
from     = 22
 
to       = 92
 
def      = false
 

	
 
; station.nonuniform_stations
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 158
 

	
 
@@ -851,7 +850,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_CATCHMENT
 
proc     = StationCatchmentChanged
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = order.gradual_loading
 
from     = 40
 
@@ -859,28 +858,28 @@ guiflags = NN
 
def      = true
 
str      = STR_CONFIG_SETTING_GRADUAL_LOADING
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = construction.road_stop_on_town_road
 
from     = 47
 
def      = true
 
str      = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = construction.road_stop_on_competitor_road
 
from     = 114
 
def      = true
 
str      = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = station.adjacent_stations
 
from     = 62
 
def      = true
 
str      = STR_CONFIG_SETTING_ADJACENT_STATIONS
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = economy.station_noise_level
 
from     = 96
 
@@ -889,7 +888,7 @@ def      = false
 
str      = STR_CONFIG_SETTING_NOISE_LEVEL
 
proc     = InvalidateTownViewWindow
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = station.distant_join_stations
 
from     = 106
 
@@ -915,7 +914,7 @@ max      = 2
 
str      = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD
 
proc     = InvalidateBuildIndustryWindow
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.industry_platform
 
type     = SLE_UINT8
 
@@ -931,7 +930,7 @@ var      = economy.multiple_industry_per
 
def      = false
 
str      = STR_CONFIG_SETTING_MULTIPINDTOWN
 

	
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 140
 

	
 
@@ -942,7 +941,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_BRIBE
 
proc     = RedrawTownAuthority
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = economy.exclusive_rights
 
from     = 79
 
@@ -950,7 +949,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE
 
proc     = RedrawTownAuthority
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = economy.fund_roads
 
from     = 160
 
@@ -958,7 +957,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_ALLOW_FUND_ROAD
 
proc     = RedrawTownAuthority
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = economy.give_money
 
from     = 79
 
@@ -974,7 +973,7 @@ min      = MIN_SNOWLINE_HEIGHT
 
max      = MAX_SNOWLINE_HEIGHT
 
str      = STR_CONFIG_SETTING_SNOWLINE_HEIGHT
 

	
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 4
 
to       = 143
 

	
 
@@ -989,7 +988,7 @@ max      = MAX_YEAR
 
interval = 1
 
str      = STR_CONFIG_SETTING_STARTING_YEAR
 

	
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 4
 
to       = 104
 

	
 
@@ -1006,7 +1005,7 @@ var      = economy.allow_shares
 
def      = false
 
str      = STR_CONFIG_SETTING_ALLOW_SHARES
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.feeder_payment_share
 
type     = SLE_UINT8
 
@@ -1016,7 +1015,7 @@ min      = 0
 
max      = 100
 
str      = STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.town_growth_rate
 
type     = SLE_UINT8
 
@@ -1027,7 +1026,7 @@ min      = 0
 
max      = 4
 
str      = STR_CONFIG_SETTING_TOWN_GROWTH
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.larger_towns
 
type     = SLE_UINT8
 
@@ -1039,7 +1038,7 @@ max      = 255
 
interval = 1
 
str      = STR_CONFIG_SETTING_LARGER_TOWNS
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.initial_city_size
 
type     = SLE_UINT8
 
@@ -1050,7 +1049,7 @@ max      = 10
 
interval = 1
 
str      = STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = economy.mod_road_rebuild
 
from     = 77
 
@@ -1058,7 +1057,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD
 

	
 
; previously ai-new setting.
 
[SDT_CONDNULL]
 
[SDT_NULL]
 
length   = 1
 
to       = 106
 

	
 
@@ -1092,7 +1091,7 @@ var      = ai.ai_disable_veh_ship
 
def      = false
 
str      = STR_CONFIG_SETTING_AI_BUILDS_SHIPS
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = ai.ai_max_opcode_till_suspend
 
type     = SLE_UINT32
 
@@ -1121,7 +1120,7 @@ def      = 20
 
min      = 5
 
max      = 60
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.reverse_at_signals
 
from     = 159
 
@@ -1144,7 +1143,7 @@ def      = 41
 
min      = 2
 
max      = 255
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.town_noise_population[0]
 
type     = SLE_UINT16
 
@@ -1153,7 +1152,7 @@ def      = 800
 
min      = 200
 
max      = 65535
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.town_noise_population[1]
 
type     = SLE_UINT16
 
@@ -1162,7 +1161,7 @@ def      = 2000
 
min      = 400
 
max      = 65535
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = economy.town_noise_population[2]
 
type     = SLE_UINT16
 
@@ -1172,7 +1171,7 @@ min      = 800
 
max      = 65535
 

	
 
##
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.wait_for_pbs_path
 
type     = SLE_UINT8
 
@@ -1181,13 +1180,13 @@ def      = 30
 
min      = 2
 
max      = 255
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.reserve_paths
 
from     = 100
 
def      = false
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.path_backoff_interval
 
type     = SLE_UINT8
 
@@ -1278,7 +1277,7 @@ def      = ( 50 * NPF_TILE_LENGTH)
 
min      = 0
 
max      = 100000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.npf.npf_rail_pbs_cross_penalty
 
type     = SLE_UINT
 
@@ -1287,7 +1286,7 @@ def      = (  3 * NPF_TILE_LENGTH)
 
min      = 0
 
max      = 100000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.npf.npf_rail_pbs_signal_back_penalty
 
type     = SLE_UINT
 
@@ -1328,7 +1327,7 @@ def      = (  3 * NPF_TILE_LENGTH)
 
min      = 0
 
max      = 100000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.npf.npf_road_drive_through_penalty
 
type     = SLE_UINT
 
@@ -1337,7 +1336,7 @@ def      = (  8 * NPF_TILE_LENGTH)
 
min      = 0
 
max      = 100000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.npf.npf_road_dt_occupied_penalty
 
type     = SLE_UINT
 
@@ -1346,7 +1345,7 @@ def      = (  8 * NPF_TILE_LENGTH)
 
min      = 0
 
max      = 100000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.npf.npf_road_bay_occupied_penalty
 
type     = SLE_UINT
 
@@ -1355,7 +1354,7 @@ def      = ( 15 * NPF_TILE_LENGTH)
 
min      = 0
 
max      = 100000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.npf.maximum_go_to_depot_penalty
 
type     = SLE_UINT
 
@@ -1365,13 +1364,13 @@ min      = 0
 
max      = 1000000
 

	
 
##
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.yapf.disable_node_optimization
 
from     = 28
 
def      = false
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.max_search_nodes
 
type     = SLE_UINT
 
@@ -1380,13 +1379,13 @@ def      = 10000
 
min      = 500
 
max      = 1000000
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = pf.yapf.rail_firstred_twoway_eol
 
from     = 28
 
def      = false
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_firstred_penalty
 
type     = SLE_UINT
 
@@ -1395,7 +1394,7 @@ def      = 10 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_firstred_exit_penalty
 
type     = SLE_UINT
 
@@ -1404,7 +1403,7 @@ def      = 100 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_lastred_penalty
 
type     = SLE_UINT
 
@@ -1413,7 +1412,7 @@ def      = 10 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_lastred_exit_penalty
 
type     = SLE_UINT
 
@@ -1422,7 +1421,7 @@ def      = 100 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_station_penalty
 
type     = SLE_UINT
 
@@ -1431,7 +1430,7 @@ def      = 10 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_slope_penalty
 
type     = SLE_UINT
 
@@ -1440,7 +1439,7 @@ def      = 2 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_curve45_penalty
 
type     = SLE_UINT
 
@@ -1449,7 +1448,7 @@ def      = 1 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_curve90_penalty
 
type     = SLE_UINT
 
@@ -1458,7 +1457,7 @@ def      = 6 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_depot_reverse_penalty
 
type     = SLE_UINT
 
@@ -1467,7 +1466,7 @@ def      = 50 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_crossing_penalty
 
type     = SLE_UINT
 
@@ -1476,7 +1475,7 @@ def      = 3 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_look_ahead_max_signals
 
type     = SLE_UINT
 
@@ -1485,7 +1484,7 @@ def      = 10
 
min      = 1
 
max      = 100
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_look_ahead_signal_p0
 
type     = SLE_INT
 
@@ -1494,7 +1493,7 @@ def      = 500
 
min      = -1000000
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_look_ahead_signal_p1
 
type     = SLE_INT
 
@@ -1503,7 +1502,7 @@ def      = -100
 
min      = -1000000
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_look_ahead_signal_p2
 
type     = SLE_INT
 
@@ -1512,7 +1511,7 @@ def      = 5
 
min      = -1000000
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_pbs_cross_penalty
 
type     = SLE_UINT
 
@@ -1521,7 +1520,7 @@ def      = 3 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_pbs_station_penalty
 
type     = SLE_UINT
 
@@ -1530,7 +1529,7 @@ def      = 8 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_pbs_signal_back_penalty
 
type     = SLE_UINT
 
@@ -1539,7 +1538,7 @@ def      = 15 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_doubleslip_penalty
 
type     = SLE_UINT
 
@@ -1548,7 +1547,7 @@ def      = 1 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_longer_platform_penalty
 
type     = SLE_UINT
 
@@ -1557,7 +1556,7 @@ def      = 8 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 20000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_longer_platform_per_tile_penalty
 
type     = SLE_UINT
 
@@ -1566,7 +1565,7 @@ def      = 0 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 20000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_shorter_platform_penalty
 
type     = SLE_UINT
 
@@ -1575,7 +1574,7 @@ def      = 40 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 20000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.rail_shorter_platform_per_tile_penalty
 
type     = SLE_UINT
 
@@ -1584,7 +1583,7 @@ def      = 0 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 20000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.road_slope_penalty
 
type     = SLE_UINT
 
@@ -1593,7 +1592,7 @@ def      = 2 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.road_curve_penalty
 
type     = SLE_UINT
 
@@ -1602,7 +1601,7 @@ def      = 1 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.road_crossing_penalty
 
type     = SLE_UINT
 
@@ -1611,7 +1610,7 @@ def      = 3 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.road_stop_penalty
 
type     = SLE_UINT
 
@@ -1620,7 +1619,7 @@ def      = 8 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.road_stop_occupied_penalty
 
type     = SLE_UINT
 
@@ -1629,7 +1628,7 @@ def      = 8 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.road_stop_bay_occupied_penalty
 
type     = SLE_UINT
 
@@ -1638,7 +1637,7 @@ def      = 15 * YAPF_TILE_LENGTH
 
min      = 0
 
max      = 1000000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = pf.yapf.maximum_go_to_depot_penalty
 
type     = SLE_UINT
 
@@ -1648,7 +1647,7 @@ min      = 0
 
max      = 1000000
 

	
 
##
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.land_generator
 
type     = SLE_UINT8
 
@@ -1659,7 +1658,7 @@ min      = 0
 
max      = 1
 
str      = STR_CONFIG_SETTING_LAND_GENERATOR
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.oil_refinery_limit
 
type     = SLE_UINT8
 
@@ -1669,7 +1668,7 @@ min      = 12
 
max      = 48
 
str      = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.tgen_smoothness
 
type     = SLE_UINT8
 
@@ -1689,7 +1688,7 @@ def      = 0
 
min      = 0
 
max      = 5
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.generation_seed
 
type     = SLE_UINT32
 
@@ -1698,7 +1697,7 @@ def      = GENERATE_NEW_SEED
 
min      = 0
 
max      = UINT32_MAX
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.tree_placer
 
type     = SLE_UINT8
 
@@ -1749,7 +1748,7 @@ def      = 8
 
min      = MIN_MAP_SIZE_BITS
 
max      = MAX_MAP_SIZE_BITS
 

	
 
[SDT_CONDBOOL]
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = construction.freeform_edges
 
from     = 111
 
@@ -1757,7 +1756,7 @@ def      = true
 
str      = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES
 
proc     = CheckFreeformEdges
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.water_borders
 
type     = SLE_UINT8
 
@@ -1766,7 +1765,7 @@ def      = 15
 
min      = 0
 
max      = 16
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.custom_town_number
 
type     = SLE_UINT16
 
@@ -1775,7 +1774,7 @@ def      = 1
 
min      = 1
 
max      = 5000
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.extra_tree_placement
 
type     = SLE_UINT8
 
@@ -1786,7 +1785,7 @@ min      = 0
 
max      = 2
 
str      = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT
 

	
 
[SDT_CONDVAR]
 
[SDT_VAR]
 
base     = GameSettings
 
var      = game_creation.custom_sea_level
 
type     = SLE_UINT8
 
@@ -1797,7 +1796,7 @@ max      = 90
 

	
 
; locale
 

	
 
[SDT_CONDOMANY]
 
[SDT_OMANY]
 
base     = GameSettings
 
var      = locale.currency
 
type     = SLE_UINT8
 
@@ -1808,7 +1807,7 @@ max      = CUSTOM_CURRENCY_ID
 
full     = _locale_currencies
 
proc     = RedrawScreen
 

	
 
[SDT_CONDOMANY]
 
[SDT_OMANY]
 
base     = GameSettings
 
var      = locale.units
 
type     = SLE_UINT8
 
@@ -1819,7 +1818,7 @@ max      = 2
 
full     = _locale_units
 
proc     = RedrawScreen
 

	
 
[SDT_CONDSTR]
 
[SDT_STR]
 
base     = GameSettings
 
var      = locale.digit_group_separator
 
type     = SLE_STRQ
 
@@ -1828,7 +1827,7 @@ flags    = N
 
def      = NULL
 
proc     = RedrawScreen
 

	
 
[SDT_CONDSTR]
 
[SDT_STR]
 
base     = GameSettings
 
var      = locale.digit_group_separator_currency
 
type     = SLE_STRQ
 
@@ -1837,7 +1836,7 @@ flags    = N
 
def      = NULL
 
proc     = RedrawScreen
 

	
 
[SDT_CONDSTR]
 
[SDT_STR]
 
base     = GameSettings
 
var      = locale.digit_decimal_separator
 
type     = SLE_STRQ
src/table/win32_settings.ini
Show inline comments
 
@@ -9,8 +9,8 @@ static const SettingDescGlobVarList _win
 
};
 
#endif /* WIN32 */
 
[templates]
 
SDTG_BOOL = SDTG_BOOL($name,        $flags, $guiflags, $var, $def,                        $str, $proc),
 
SDTG_VAR  =  SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc),
 
SDTG_BOOL = SDTG_BOOL($name,        $flags, $guiflags, $var, $def,                        $str, $proc, $from, $to),
 
SDTG_VAR  =  SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc, $from, $to),
 
SDTG_END  = SDTG_END()
 

	
 
[defaults]
0 comments (0 inline, 0 general)