OpenTTD-patches/src/table/gameopt_settings.ini

155 lines
4.8 KiB
INI
Raw Normal View History

[pre-amble]
static const uint GAME_DIFFICULTY_NUM = 18;
static uint16 _old_diff_custom[GAME_DIFFICULTY_NUM];
/* Most of these strings are used both for gameopt-backward compatability
* and the settings tables. The rest is here for consistency. */
static const char *_locale_currencies = "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|RON|RUR|SIT|SEK|YTL|SKK|BRL|EEK|custom";
static const char *_locale_units = "imperial|metric|si";
static const char *_town_names = "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovak|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish|italian|catalan";
static const char *_climates = "temperate|arctic|tropic|toyland";
static const char *_autosave_interval = "off|monthly|quarterly|half year|yearly";
static const char *_roadsides = "left|right";
static const char *_savegame_date = "long|short|iso";
#ifdef ENABLE_NETWORK
static const char *_server_langs = "ANY|ENGLISH|GERMAN|FRENCH|BRAZILIAN|BULGARIAN|CHINESE|CZECH|DANISH|DUTCH|ESPERANTO|FINNISH|HUNGARIAN|ICELANDIC|ITALIAN|JAPANESE|KOREAN|LITHUANIAN|NORWEGIAN|POLISH|PORTUGUESE|ROMANIAN|RUSSIAN|SLOVAK|SLOVENIAN|SPANISH|SWEDISH|TURKISH|UKRAINIAN|AFRIKAANS|CROATIAN|CATALAN|ESTONIAN|GALICIAN|GREEK|LATVIAN";
#endif /* ENABLE_NETWORK */
static const SettingDesc _gameopt_settings[] = {
/* In version 4 a new difficulty setting has been added to the difficulty settings,
* town attitude towards demolishing. Needs special handling because some dimwit thought
* it funny to have the GameDifficulty struct be an array while it is a struct of
* same-sized members
* XXX - To save file-space and since values are never bigger than about 10? only
* save the first 16 bits in the savegame. Question is why the values are still int32
* and why not byte for example?
* 'SLE_FILE_I16 | SLE_VAR_U16' in "diff_custom" is needed to get around SlArray() hack
* for savegames version 0 - though it is an array, it has to go through the byteswap process */
[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_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
guiflags = 0
interval = 0
str = STR_NULL
proc = NULL
load = NULL
from = 0
to = SL_MAX_VERSION
[SDTG_GENERAL]
name = ""diff_custom""
sdt_cmd = SDT_INTLIST
sle_cmd = SL_ARR
type = SLE_FILE_I16 | SLE_VAR_U16
flags = SLF_NOT_IN_CONFIG
var = _old_diff_custom
length = 17
def = 0
min = 0
max = 0
full = NULL
to = 3
[SDTG_GENERAL]
name = ""diff_custom""
sdt_cmd = SDT_INTLIST
sle_cmd = SL_ARR
type = SLE_UINT16
flags = SLF_NOT_IN_CONFIG
var = _old_diff_custom
length = 18
def = 0
min = 0
max = 0
full = NULL
from = 4
##
[SDT_VAR]
base = GameSettings
var = difficulty.diff_level
type = SLE_UINT8
def = 3
min = 0
max = 3
[SDT_OMANY]
base = GameSettings
var = locale.currency
type = SLE_UINT8
flags = SLF_NO_NETWORK_SYNC
def = 0
max = CUSTOM_CURRENCY_ID
full = _locale_currencies
[SDT_OMANY]
base = GameSettings
var = locale.units
type = SLE_UINT8
flags = SLF_NO_NETWORK_SYNC
def = 1
max = 2
full = _locale_units
# 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_OMANY]
base = GameSettings
var = game_creation.town_name
type = SLE_UINT8
def = 0
max = 255
full = _town_names
[SDT_OMANY]
base = GameSettings
var = game_creation.landscape
type = SLE_UINT8
def = 0
max = 3
full = _climates
load = ConvertLandscape
[SDT_VAR]
base = GameSettings
var = game_creation.snow_line
type = SLE_UINT8
def = DEF_SNOWLINE_HEIGHT * TILE_HEIGHT
min = MIN_SNOWLINE_HEIGHT * TILE_HEIGHT
max = MAX_SNOWLINE_HEIGHT * TILE_HEIGHT
[SDT_NULL]
length = 1
to = 22
[SDTC_OMANY]
var = gui.autosave
type = SLE_UINT8
from = 23
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = 1
max = 4
full = _autosave_interval
[SDT_OMANY]
base = GameSettings
var = vehicle.road_side
type = SLE_UINT8
def = 1
max = 1
full = _roadsides
[SDT_END]