settings.cpp File Reference

All actions handling saving and loading of the settings/configuration goes on in this file. More...

#include "stdafx.h"
#include "openttd.h"
#include "currency.h"
#include "screenshot.h"
#include "variables.h"
#include "network/network.h"
#include "network/network_func.h"
#include "settings_internal.h"
#include "command_func.h"
#include "console_func.h"
#include "npf.h"
#include "yapf/yapf.h"
#include "genworld.h"
#include "train.h"
#include "news_func.h"
#include "window_func.h"
#include "strings_func.h"
#include "vehicle_func.h"
#include "sound_func.h"
#include "company_func.h"
#include "rev.h"
#include "textbuf_gui.h"
#include "rail_gui.h"
#include "elrail_func.h"
#include "gui.h"
#include "town.h"
#include "video/video_driver.hpp"
#include "sound/sound_driver.hpp"
#include "music/music_driver.hpp"
#include "blitter/factory.hpp"
#include "gfxinit.h"
#include "gamelog.h"
#include "station_func.h"
#include "settings_func.h"
#include "ini_type.h"
#include "ai/ai_config.hpp"
#include "newgrf.h"
#include "engine_base.h"
#include "void_map.h"
#include "station_base.h"
#include "table/strings.h"

Go to the source code of this file.

Defines

#define NSD_GENERAL(name, def, cmd, guiflags, min, max, interval, many, str, proc, load)   {name, (const void*)(def), {cmd}, {guiflags}, min, max, interval, many, str, proc, load}
 Settings-macro usage: The list might look daunting at first, but is in general easy to understand.
#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)   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)   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)   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_CONDOMANY(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)   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_END()   {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLEG_END()}
#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)   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)   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)   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_CONDLISTO(base, var, length, type, from, to, flags, guiflags, def, str, proc, load)   SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, length, def, 0, 0, 0, NULL, str, proc, load, from, to)
#define SDT_CONDSTR(base, var, type, from, to, flags, guiflags, def, str, proc)   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)   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)   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)   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)   {{"", 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)   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)   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)   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_CONDOMANY(var, type, from, to, flags, guiflags, def, max, full, str, proc)   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()}
#define S   SLF_SAVE_NO | SLF_NETWORK_NO
#define C   SLF_CONFIG_NO
#define N   SLF_NETWORK_NO
#define D0   SGF_0ISDISABLED
#define NC   SGF_NOCOMMA
#define MS   SGF_MULTISTRING
#define NO   SGF_NETWORK_ONLY
#define CR   SGF_CURRENCY
#define NN   SGF_NO_NETWORK
#define NG   SGF_NEWGAME_ONLY

Typedefs

typedef const char * SettingListCallbackProc (const IniItem *item, uint index)
typedef void SettingDescProc (IniFile *ini, const SettingDesc *desc, const char *grpname, void *object)
typedef void SettingDescProcList (IniFile *ini, const char *grpname, char **list, uint len, SettingListCallbackProc proc)

Functions

static bool IsSignedVarMemType (VarType vt)
static int lookup_oneofmany (const char *many, const char *one, size_t onelen=0)
 Find the index value of a ONEofMANY type in a string seperated by |.
static uint32 lookup_manyofmany (const char *many, const char *str)
 Find the set-integer value MANYofMANY type in a string.
static int parse_intlist (const char *p, int *items, int maxitems)
 Parse an integerlist string and set each found value.
static bool load_intlist (const char *str, void *array, int nelems, VarType type)
 Load parsed string-values into an integer-array (intlist).
static void make_intlist (char *buf, const char *last, const void *array, int nelems, VarType type)
 Convert an integer-array (intlist) to a string representation.
static void make_oneofmany (char *buf, const char *last, const char *many, int id)
 Convert a ONEofMANY structure to a string representation.
static void make_manyofmany (char *buf, const char *last, const char *many, uint32 x)
 Convert a MANYofMANY structure to a string representation.
static const void * string_to_val (const SettingDescBase *desc, const char *str)
 Convert a string representation (external) of a setting to the internal rep.
static void Write_ValidateSetting (void *ptr, const SettingDesc *sd, int32 val)
 Set the value of a setting and if needed clamp the value to the preset minimum and maximum.
static void ini_load_settings (IniFile *ini, const SettingDesc *sd, const char *grpname, void *object)
 Load values from a group of an IniFile structure into the internal representation.
static void ini_save_settings (IniFile *ini, const SettingDesc *sd, const char *grpname, void *object)
 Save the values of settings to the inifile.
static void ini_load_setting_list (IniFile *ini, const char *grpname, char **list, uint len, SettingListCallbackProc proc)
 Loads all items from a 'grpname' section into a list The list parameter can be a NULL pointer, in this case nothing will be saved and a callback function should be defined that will take over the list-handling and store the data itself somewhere.
static void ini_save_setting_list (IniFile *ini, const char *grpname, char **list, uint len, SettingListCallbackProc proc)
 Saves all items from a list into the 'grpname' section The list parameter can be a NULL pointer, in this case a callback function should be defined that will provide the source data to be saved.
static bool v_PositionMainToolbar (int32 p1)
static bool PopulationInLabelActive (int32 p1)
static bool RedrawScreen (int32 p1)
static bool InvalidateDetailsWindow (int32 p1)
static bool InvalidateStationBuildWindow (int32 p1)
static bool InvalidateBuildIndustryWindow (int32 p1)
static bool CloseSignalGUI (int32 p1)
static bool InvalidateTownViewWindow (int32 p1)
static bool DeleteSelectStationWindow (int32 p1)
static bool UpdateConsists (int32 p1)
static bool CheckInterval (int32 p1)
static bool EngineRenewUpdate (int32 p1)
static bool EngineRenewMonthsUpdate (int32 p1)
static bool EngineRenewMoneyUpdate (int32 p1)
static bool TrainAccelerationModelChanged (int32 p1)
static bool DragSignalsDensityChanged (int32)
void SetDifficultyLevel (int mode, DifficultySettings *gm_opt)
void CheckDifficultyLevels ()
 Checks the difficulty levels read from the configuration and forces them to be correct when invalid.
static bool DifficultyReset (int32 level)
static bool DifficultyChange (int32)
static bool DifficultyNoiseChange (int32 i)
static bool CheckRoadSide (int p1)
 Check whether the road side may be changed.
static int32 ConvertLandscape (const char *value)
 Conversion callback for _gameopt_settings_game.landscape It converts (or try) between old values and the new ones, without losing initial setting of the user.
static int32 CheckNoiseToleranceLevel (const char *value)
 Check for decent values been supplied by the user for the noise tolerance setting.
static bool CheckFreeformEdges (int32 p1)
static bool ChangeDynamicEngines (int32 p1)
 Changing the setting "allow multiple NewGRF sets" is not allowed if there are vehicles.
static void PrepareOldDiffCustom ()
 Prepare for reading and old diff_custom by zero-ing the memory.
static void HandleOldDiffCustom (bool savegame)
 Reading of the old diff_custom array and transforming it to the new format.
bool ConvertOldNewsSetting (const char *name, const char *value)
 tries to convert newly introduced news settings based on old ones
static void NewsDisplayLoadConfig (IniFile *ini, const char *grpname)
static void AILoadConfig (IniFile *ini, const char *grpname)
static GRFConfigGRFLoadConfig (IniFile *ini, const char *grpname, bool is_static)
static void NewsDisplaySaveConfig (IniFile *ini, const char *grpname)
static void AISaveConfig (IniFile *ini, const char *grpname)
static void SaveVersionInConfig (IniFile *ini)
 Save the version of OpenTTD to the ini file.
static void GRFSaveConfig (IniFile *ini, const char *grpname, const GRFConfig *list)
static void HandleSettingDescs (IniFile *ini, SettingDescProc *proc, SettingDescProcList *proc_list)
static IniFileIniLoadConfig ()
void LoadFromConfig ()
 Load the values from the configuration files.
void SaveToConfig ()
 Save the values to the configuration file.
void GetGRFPresetList (GRFPresetList *list)
GRFConfigLoadGRFPresetFromConfig (const char *config_name)
void SaveGRFPresetToConfig (const char *config_name, GRFConfig *config)
void DeleteGRFPresetFromConfig (const char *config_name)
static const SettingDesc * GetSettingDescription (uint index)
CommandCost CmdChangeSetting (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Network-safe changing of settings (server-only).
bool SetSettingValue (uint index, int32 value)
 Top function to save the new value of an element of the Settings struct.
bool SetSettingValue (uint index, const char *value)
 Set a setting value with a string.
const SettingDesc * GetSettingFromName (const char *name, uint *i)
 Given a name of setting, return a setting description of it.
void IConsoleSetSetting (const char *name, const char *value)
void IConsoleSetSetting (const char *name, int value)
void IConsoleGetSetting (const char *name)
 Output value of a specific setting to the console.
void IConsoleListSettings (const char *prefilter)
 List all settings and their value to the console.
static void LoadSettings (const SettingDesc *osd, void *object)
 Save and load handler for settings.
static void LoadSettingsGlobList (const SettingDescGlobVarList *sdg)
 Loadhandler for a list of global variables.
static void SaveSettings (const SettingDesc *sd, void *object)
 Save and load handler for settings.
static void SaveSettingsGlobList (const SettingDescGlobVarList *sdg)
 Savehandler for a list of global variables.
static void Load_OPTS ()
static void Load_PATS ()
static void Save_PATS ()
void CheckConfig ()

Variables

ClientSettings _settings_client
 The current settings for this game.
GameSettings _settings_game
 The current settings for this game.
GameSettings _settings_newgame
 The settings values that are used for new games and/or modified in config file.
static const char * _list_group_names []
 Groups in openttd.cfg that are actually lists.
static const DifficultySettings _default_game_diff [3]
static const SettingDesc _music_settings []
static const SettingDescGlobVarList _misc_settings []
static const uint GAME_DIFFICULTY_NUM = 18
uint16 _old_diff_custom [GAME_DIFFICULTY_NUM]
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"
static const SettingDesc _gameopt_settings []
const SettingDesc _settings []
static const SettingDesc _currency_settings []
const ChunkHandler _setting_chunk_handlers []


Detailed Description

All actions handling saving and loading of the settings/configuration goes on in this file.

The file consists of four parts:

  1. Parsing the configuration file (openttd.cfg). This is achieved with the ini_ functions which handle various types, such as normal 'key = value' pairs, lists and value combinations of lists, strings, integers, 'bit'-masks and element selections.
  2. Defining the data structures that go into the configuration. These include for example the _settings struct, but also network-settings, banlists, newgrf, etc. There are a lot of helper macros available for the various types, and also saving/loading of these settings in a savegame is handled inside these structures.
  3. Handle reading and writing to the setting-structures from inside the game either from the console for example or through the gui with CMD_ functions.
  4. Handle saving/loading of the PATS chunk inside the savegame.
See also:
SettingDesc

SaveLoad

Definition in file settings.cpp.


Define Documentation

#define NSD_GENERAL ( name,
def,
cmd,
guiflags,
min,
max,
interval,
many,
str,
proc,
load   )     {name, (const void*)(def), {cmd}, {guiflags}, min, max, interval, many, str, proc, load}

Settings-macro usage: The list might look daunting at first, but is in general easy to understand.

We have two types of list: 1. SDTG_something 2. SDT_something The 'G' stands for global, so this is the one you will use for a 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
  • STR: a string or character. 'type' field specifies what string. Normal, string, or quoted 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 place) and you DON'T have to increase the savegame version.

While reading values from openttd.cfg, some values may not be converted properly, for any kind of reasons. In order to allow a process of self-cleaning mechanism, a callback procedure is made available. You will have to supply the function, which will work on a string, one function per setting. And of course, enable the callback param on the appropriate macro.

Definition at line 695 of file settings.cpp.


Function Documentation

static int32 CheckNoiseToleranceLevel ( const char *  value  )  [static]

Check for decent values been supplied by the user for the noise tolerance setting.

The primary idea is to avoid division by zero in game mode. The secondary idea is to make it so the values will be somewhat sane and that towns will not be overcrowed with airports. It would be easy to abuse such a feature So basically, 200, 400, 800 are the lowest allowed values

Definition at line 1073 of file settings.cpp.

References GameSettings::economy, lengthof, max(), and EconomySettings::town_noise_population.

static bool CheckRoadSide ( int  p1  )  [static]

Check whether the road side may be changed.

Parameters:
p1 unused
Returns:
true if the road side may be changed.

Definition at line 1049 of file settings.cpp.

References RoadVehiclesAreBuilt().

CommandCost CmdChangeSetting ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Network-safe changing of settings (server-only).

Parameters:
tile unused
flags operation to perform
p1 the index of the setting in the SettingDesc array which identifies it
p2 the new value for the setting The new value is properly clamped to its minimum/maximum when setting
See also:
_settings

Definition at line 2015 of file settings.cpp.

References CMD_ERROR, DC_EXEC, GamelogSetting(), GamelogStartAction(), GamelogStopAction(), GetVariableAddress(), GLAT_SETTING, InvalidateWindow(), ReadValue(), SGF_NETWORK_ONLY, SGF_NEWGAME_ONLY, SGF_NO_NETWORK, SlIsObjectCurrentlyValid(), Write_ValidateSetting(), and WriteValue().

static int32 ConvertLandscape ( const char *  value  )  [static]

Conversion callback for _gameopt_settings_game.landscape It converts (or try) between old values and the new ones, without losing initial setting of the user.

Parameters:
value that was read from config file
Returns:
the "hopefully" converted value

Definition at line 1061 of file settings.cpp.

References lookup_oneofmany().

bool ConvertOldNewsSetting ( const char *  name,
const char *  value 
)

tries to convert newly introduced news settings based on old ones

Parameters:
name pointer to the string defining name of the old news config
value pointer to the string defining value of the old news config
Returns:
true if conversion could have been made

Definition at line 1671 of file settings.cpp.

References _news_type_data, NewsTypeData::display, ND_FULL, ND_OFF, ND_SUMMARY, NT_INDUSTRY_CLOSE, and NT_INDUSTRY_OPEN.

const SettingDesc* GetSettingFromName ( const char *  name,
uint *  i 
)

Given a name of setting, return a setting description of it.

Parameters:
name Name of the setting to return a setting description of
i Pointer to an integer that will contain the index of the setting after the call, if it is successful.
Returns:
Pointer to the setting description of setting name if it can be found, NULL indicates failure to obtain the description

Definition at line 2114 of file settings.cpp.

References SlIsObjectCurrentlyValid().

Referenced by AIGameSettings::GetValue(), IConsoleGetSetting(), SettingEntry::Init(), and AIGameSettings::IsValid().

static void HandleOldDiffCustom ( bool  savegame  )  [static]

Reading of the old diff_custom array and transforming it to the new format.

Parameters:
savegame is it read from the config or savegame. In the latter case we are sure there is an array; in the former case we have to check that.

Definition at line 1644 of file settings.cpp.

References CheckSavegameVersion(), GetVariableAddress(), SlIsObjectCurrentlyValid(), and Write_ValidateSetting().

Referenced by LoadFromConfig().

void IConsoleGetSetting ( const char *  name  ) 

Output value of a specific setting to the console.

Parameters:
name Name of the setting to output its value

Definition at line 2185 of file settings.cpp.

References GetSettingFromName(), GetVariableAddress(), IConsolePrintF(), ReadValue(), SDT_BOOLX, SDT_STRING, and SGF_0ISDISABLED.

void IConsoleListSettings ( const char *  prefilter  ) 

List all settings and their value to the console.

Parameters:
prefilter If not NULL, only list settings with names that begin with prefilter prefix

Definition at line 2218 of file settings.cpp.

References GetVariableAddress(), IConsolePrintF(), lengthof, min(), ReadValue(), SDT_BOOLX, SDT_STRING, and SlIsObjectCurrentlyValid().

static void ini_load_setting_list ( IniFile ini,
const char *  grpname,
char **  list,
uint  len,
SettingListCallbackProc  proc 
) [static]

Loads all items from a 'grpname' section into a list The list parameter can be a NULL pointer, in this case nothing will be saved and a callback function should be defined that will take over the list-handling and store the data itself somewhere.

Parameters:
ini IniFile handle to the ini file with the source data
grpname character string identifying the section-header of the ini file that will be parsed
list pointer to an string(pointer) array that will store the parsed entries of the given section
len the maximum number of items available for the above list
proc callback function that can override how the values are stored inside the list

Definition at line 608 of file settings.cpp.

References IniFile::GetGroup(), IniGroup::item, IniItem::name, and IniItem::next.

Referenced by LoadFromConfig().

static void ini_load_settings ( IniFile ini,
const SettingDesc *  sd,
const char *  grpname,
void *  object 
) [static]

Load values from a group of an IniFile structure into the internal representation.

Parameters:
ini pointer to IniFile structure that holds administrative information
sd pointer to SettingDesc structure whose internally pointed variables will be given values
grpname the group of the IniFile to search in for the new values
object pointer to the object been loaded

Definition at line 395 of file settings.cpp.

References SaveLoad::conv, IniFile::GetGroup(), IniGroup::GetItem(), GetVariableAddress(), SaveLoad::length, load_intlist(), IniGroup::name, SDT_BOOLX, SDT_INTLIST, SDT_MANYOFMANY, SDT_NUMX, SDT_ONEOFMANY, SDT_STRING, ShowInfoF(), SLE_VAR_STR, SLE_VAR_STRB, SLE_VAR_STRBQ, SLE_VAR_STRQ, SlIsObjectCurrentlyValid(), string_to_val(), ttd_strlcpy(), IniItem::value, SaveLoad::version_from, SaveLoad::version_to, and Write_ValidateSetting().

Referenced by LoadFromConfig().

static void ini_save_setting_list ( IniFile ini,
const char *  grpname,
char **  list,
uint  len,
SettingListCallbackProc  proc 
) [static]

Saves all items from a list into the 'grpname' section The list parameter can be a NULL pointer, in this case a callback function should be defined that will provide the source data to be saved.

Parameters:
ini IniFile handle to the ini file where the destination data is saved
grpname character string identifying the section-header of the ini file
list pointer to an string(pointer) array that will be used as the source to be saved into the relevant ini section
len the maximum number of items available for the above list
proc callback function that can will provide the source data if defined

Definition at line 636 of file settings.cpp.

References IniGroup::Clear(), IniFile::GetGroup(), IniGroup::GetItem(), and IniItem::SetValue().

Referenced by SaveToConfig().

static void ini_save_settings ( IniFile ini,
const SettingDesc *  sd,
const char *  grpname,
void *  object 
) [static]

Save the values of settings to the inifile.

Parameters:
ini pointer to IniFile structure
sd read-only SettingDesc structure which contains the unmodified, loaded values of the configuration file and various information about it
grpname holds the name of the group (eg. [network]) where these will be saved
object pointer to the object been saved The function works as follows: for each item in the SettingDesc structure we have a look if the value has changed since we started the game (the original values are reloaded when saving). If settings indeed have changed, we get these and save them.

Definition at line 485 of file settings.cpp.

References buf, SaveLoad::conv, IniFile::GetGroup(), GetVariableAddress(), lastof, SaveLoad::length, make_intlist(), make_manyofmany(), make_oneofmany(), IniGroup::name, ReadValue(), SDT_BOOLX, SDT_INTLIST, SDT_MANYOFMANY, SDT_NUMX, SDT_ONEOFMANY, SDT_STRING, seprintf(), SLE_VAR_STR, SLE_VAR_STRB, SLE_VAR_STRBQ, SLE_VAR_STRQ, SLF_CONFIG_NO, SlIsObjectCurrentlyValid(), strecpy(), string_to_val(), IniItem::value, SaveLoad::version_from, and SaveLoad::version_to.

Referenced by SaveToConfig().

static bool load_intlist ( const char *  str,
void *  array,
int  nelems,
VarType  type 
) [static]

Load parsed string-values into an integer-array (intlist).

Parameters:
str the string that contains the values (and will be parsed)
array pointer to the integer-arrays that will be filled
nelems the number of elements the array holds. Maximum is 64 elements
type the type of elements the array holds (eg INT8, UINT16, etc.)
Returns:
return true on success and false on error

Definition at line 176 of file settings.cpp.

References lengthof, and parse_intlist().

Referenced by ini_load_settings().

static void LoadSettings ( const SettingDesc *  osd,
void *  object 
) [static]

Save and load handler for settings.

Parameters:
osd SettingDesc struct containing all information
object can be either NULL in which case we load global variables or a pointer to a struct which is getting saved

Definition at line 2247 of file settings.cpp.

References GetVariableAddress().

Referenced by LoadSettingsGlobList().

static void LoadSettingsGlobList ( const SettingDescGlobVarList *  sdg  )  [inline, static]

Loadhandler for a list of global variables.

Parameters:
sdg pointer for the global variable list SettingDescGlobVarList
Note:
this is actually a stub for LoadSettings with the object pointer set to NULL

Definition at line 2261 of file settings.cpp.

References LoadSettings().

static uint32 lookup_manyofmany ( const char *  many,
const char *  str 
) [static]

Find the set-integer value MANYofMANY type in a string.

Parameters:
many full domain of values the MANYofMANY setting can have
str the current string value of the setting, each individual of seperated by a whitespace,tab or | character
Returns:
the 'fully' set integer, or -1 if a set is not found

Definition at line 122 of file settings.cpp.

References lookup_oneofmany(), and SetBit().

Referenced by string_to_val().

static int lookup_oneofmany ( const char *  many,
const char *  one,
size_t  onelen = 0 
) [static]

Find the index value of a ONEofMANY type in a string seperated by |.

Parameters:
many full domain of values the ONEofMANY setting can have
one the current value of the setting for which a value needs found
onelen force calculation of the *one parameter
Returns:
the integer index of the full-list, or -1 if not found

Definition at line 94 of file settings.cpp.

Referenced by ConvertLandscape(), lookup_manyofmany(), and string_to_val().

static void make_intlist ( char *  buf,
const char *  last,
const void *  array,
int  nelems,
VarType  type 
) [static]

Convert an integer-array (intlist) to a string representation.

Each value is seperated by a comma or a space character

Parameters:
buf output buffer where the string-representation will be stored
last last item to write to in the output buffer
array pointer to the integer-arrays that is read from
nelems the number of elements the array holds.
type the type of elements the array holds (eg INT8, UINT16, etc.)

Definition at line 216 of file settings.cpp.

References seprintf().

Referenced by ini_save_settings().

static void make_manyofmany ( char *  buf,
const char *  last,
const char *  many,
uint32  x 
) [static]

Convert a MANYofMANY structure to a string representation.

Parameters:
buf output buffer where the string-representation will be stored
last last item to write to in the output buffer
many the full-domain string of possible values
x the value of the variable and whose string-representation must be found in the bitmasked many string

Definition at line 267 of file settings.cpp.

References HasBit(), and seprintf().

Referenced by ini_save_settings().

static void make_oneofmany ( char *  buf,
const char *  last,
const char *  many,
int  id 
) [static]

Convert a ONEofMANY structure to a string representation.

Parameters:
buf output buffer where the string-representation will be stored
last last item to write to in the output buffer
many the full-domain string of possible values
id the value of the variable and whose string-representation must be found

Definition at line 241 of file settings.cpp.

References seprintf().

Referenced by ini_save_settings().

static int parse_intlist ( const char *  p,
int *  items,
int  maxitems 
) [static]

Parse an integerlist string and set each found value.

Parameters:
p the string to be parsed. Each element in the list is seperated by a comma or a space character
items pointer to the integerlist-array that will be filled with values
maxitems the maximum number of elements the integerlist-array has
Returns:
returns the number of items found, or -1 on an error

Definition at line 152 of file settings.cpp.

static void SaveSettings ( const SettingDesc *  sd,
void *  object 
) [static]

Save and load handler for settings.

Parameters:
sd SettingDesc struct containing all information
object can be either NULL in which case we load global variables or a pointer to a struct which is getting saved

Definition at line 2270 of file settings.cpp.

References GetVariableAddress(), and SlSetLength().

Referenced by SaveSettingsGlobList().

static void SaveSettingsGlobList ( const SettingDescGlobVarList *  sdg  )  [inline, static]

Savehandler for a list of global variables.

Note:
this is actually a stub for SaveSettings with the object pointer set to NULL

Definition at line 2291 of file settings.cpp.

References SaveSettings().

static void SaveVersionInConfig ( IniFile ini  )  [static]

Save the version of OpenTTD to the ini file.

Parameters:
ini the ini to write to

Definition at line 1855 of file settings.cpp.

References IniFile::GetGroup(), IniGroup::GetItem(), lengthof, and IniItem::SetValue().

Referenced by SaveToConfig().

bool SetSettingValue ( uint  index,
const char *  value 
)

Set a setting value with a string.

Parameters:
index the settings index.
value the value to write
Note:
CANNOT BE SAVED IN THE SAVEGAME.

Definition at line 2095 of file settings.cpp.

References GetVariableAddress(), SLF_NETWORK_NO, and ttd_strlcpy().

bool SetSettingValue ( uint  index,
int32  value 
)

Top function to save the new value of an element of the Settings struct.

Parameters:
index offset in the SettingDesc array of the Settings struct which identifies the setting member we want to change
object pointer to a valid settings struct that has its settings change. This only affects setting-members that are not needed to be the same on all clients in a network game.
value new value of the setting

Definition at line 2062 of file settings.cpp.

References CMD_CHANGE_SETTING, DoCommandP(), GetVariableAddress(), InvalidateWindow(), ReadValue(), SLF_NETWORK_NO, and Write_ValidateSetting().

static const void* string_to_val ( const SettingDescBase *  desc,
const char *  str 
) [static]

Convert a string representation (external) of a setting to the internal rep.

Parameters:
desc SettingDesc struct that holds all information about the variable
str input string that will be parsed based on the type of desc
Returns:
return the parsed value of the setting

Definition at line 298 of file settings.cpp.

References lookup_manyofmany(), lookup_oneofmany(), SDT_BOOLX, SDT_INTLIST, SDT_MANYOFMANY, SDT_NUMX, SDT_ONEOFMANY, SDT_STRING, and ShowInfoF().

Referenced by ini_load_settings(), and ini_save_settings().

static void Write_ValidateSetting ( void *  ptr,
const SettingDesc *  sd,
int32  val 
) [static]

Set the value of a setting and if needed clamp the value to the preset minimum and maximum.

Parameters:
ptr the variable itself
sd pointer to the 'information'-database of the variable
val signed long version of the new value
Precondition:
SettingDesc is of type SDT_BOOLX, SDT_NUMX, SDT_ONEOFMANY or SDT_MANYOFMANY. Other types are not supported as of now

Definition at line 345 of file settings.cpp.

References Clamp(), ClampU(), min(), SDT_BOOLX, SDT_MANYOFMANY, SDT_NUMX, SDT_ONEOFMANY, SGF_0ISDISABLED, SLE_VAR_NULL, and WriteValue().

Referenced by CmdChangeSetting(), HandleOldDiffCustom(), ini_load_settings(), and SetSettingValue().


Variable Documentation

const SettingDesc _currency_settings[] [static]

Initial value:

 {
  SDT_VAR(CurrencySpec, rate,    SLE_UINT16, S, 0, 1,      0, UINT16_MAX, 0, STR_NULL, NULL),
  SDT_CHR(CurrencySpec, separator,           S, 0, ".",                      STR_NULL, NULL),
  SDT_VAR(CurrencySpec, to_euro,  SLE_INT32, S, 0, 0, MIN_YEAR, MAX_YEAR, 0, STR_NULL, NULL),
  SDT_STR(CurrencySpec, prefix,   SLE_STRBQ, S, 0, NULL,                     STR_NULL, NULL),
  SDT_STR(CurrencySpec, suffix,   SLE_STRBQ, S, 0, " credits",               STR_NULL, NULL),

}

Definition at line 1610 of file settings.cpp.

const DifficultySettings _default_game_diff[3] [static]

Initial value:

 { 
  {2, 2, 4, 300000, 2, 0, 2, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0}, 
  {4, 2, 3, 150000, 3, 1, 3, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1}, 
  {7, 3, 3, 100000, 4, 1, 3, 2, 0, 2, 3, 2, 1, 1, 1, 2, 2}, 
}

Definition at line 976 of file settings.cpp.

const SettingDesc _gameopt_settings[] [static]

Initial value:

 {
  
   SDTG_GENERAL("diff_custom", SDT_INTLIST, SL_ARR, SLE_FILE_I16 | SLE_VAR_U16,    C, 0, _old_diff_custom, 17, 0, 0, 0, 0, NULL, STR_NULL, NULL, 0,  3),
   SDTG_GENERAL("diff_custom", SDT_INTLIST, SL_ARR, SLE_UINT16,                    C, 0, _old_diff_custom, 18, 0, 0, 0, 0, NULL, STR_NULL, NULL, 4, SL_MAX_VERSION),

        SDT_VAR(GameSettings, difficulty.diff_level,    SLE_UINT8,                     0, 0, 0, 0,  3, 0, STR_NULL, NULL),
      SDT_OMANY(GameSettings, locale.currency,          SLE_UINT8,                     N, 0, 0, CUSTOM_CURRENCY_ID, _locale_currencies, STR_NULL, NULL, NULL),
      SDT_OMANY(GameSettings, locale.units,             SLE_UINT8,                     N, 0, 1, 2, _locale_units, STR_NULL, NULL, NULL),
  
      SDT_OMANY(GameSettings, game_creation.town_name,  SLE_UINT8,                     0, 0, 0, 255, _town_names, STR_NULL, NULL, NULL),
      SDT_OMANY(GameSettings, game_creation.landscape,  SLE_UINT8,                     0, 0, 0, 3, _climates, STR_NULL, NULL, ConvertLandscape),
        SDT_VAR(GameSettings, game_creation.snow_line,  SLE_UINT8,                     0, 0, 7 * TILE_HEIGHT, 2 * TILE_HEIGHT, 13 * TILE_HEIGHT, 0, STR_NULL, NULL),
   SDT_CONDNULL(                                                1,  0, 22),
 SDTC_CONDOMANY(              gui.autosave,             SLE_UINT8, 23, SL_MAX_VERSION, S, 0, 1, 4, _autosave_interval, STR_NULL, NULL),
      SDT_OMANY(GameSettings, vehicle.road_side,        SLE_UINT8,                     0, 0, 1, 1, _roadsides, STR_NULL, NULL, NULL),

}

Definition at line 1278 of file settings.cpp.

const char* _list_group_names[] [static]

Initial value:

 {
  "bans",
  "newgrf",
  "servers",
  NULL
}
Groups in openttd.cfg that are actually lists.

Definition at line 82 of file settings.cpp.

const SettingDesc _music_settings[] [static]

Initial value:

 {
   SDT_VAR(MusicFileSettings, playlist,   SLE_UINT8, S, 0,   0, 0,   5, 1,  STR_NULL, NULL),
   SDT_VAR(MusicFileSettings, music_vol,  SLE_UINT8, S, 0, 127, 0, 127, 1,  STR_NULL, NULL),
   SDT_VAR(MusicFileSettings, effect_vol, SLE_UINT8, S, 0, 127, 0, 127, 1,  STR_NULL, NULL),
  SDT_LIST(MusicFileSettings, custom_1,   SLE_UINT8, S, 0, NULL,            STR_NULL, NULL),
  SDT_LIST(MusicFileSettings, custom_2,   SLE_UINT8, S, 0, NULL,            STR_NULL, NULL),
  SDT_BOOL(MusicFileSettings, playing,               S, 0, true,            STR_NULL, NULL),
  SDT_BOOL(MusicFileSettings, shuffle,               S, 0, false,           STR_NULL, NULL),

}

Definition at line 1202 of file settings.cpp.

const ChunkHandler _setting_chunk_handlers[]

Initial value:

 {
  { 'OPTS', NULL,      Load_OPTS, CH_RIFF},
  { 'PATS', Save_PATS, Load_PATS, CH_RIFF | CH_LAST},
}

The current settings for this game.

Definition at line 70 of file settings.cpp.

Referenced by _GenerateWorld(), AffectSpeedByDirChange(), AffectSpeedByZChange(), AircraftEventHandler_AtTerminal(), AITileList_IndustryAccepting::AITileList_IndustryAccepting(), AITileList_IndustryProducing::AITileList_IndustryProducing(), AlwaysDrawUnpavedRoads(), AutoslopeEnabled(), BuildRailClick_Remove(), BuildTownHouse(), AIRoad::CanBuildConnectedRoadParts(), AIIndustryType::CanBuildIndustry(), CanBuildVehicleInfrastructure(), AIIndustryType::CanProspectIndustry(), ChangeIndustryProduction(), CheckAllowRemoveRoad(), CheckFlatLandBelow(), CheckIfAuthorityAllowsNewStation(), CheckIndustryCloseDownProtection(), CheckNextTrainTile(), CheckRailSlope(), CheckRoadSlope(), CheckSwitchToEuro(), ChooseShipTrack(), ClickChangeClimateCheat(), CmdAutofillTimetable(), CmdBuildAircraft(), CmdBuildAirport(), CmdBuildBridge(), CmdBuildDock(), CmdBuildIndustry(), CmdBuildRailroadStation(), CmdBuildRailVehicle(), CmdBuildRoad(), CmdBuildRoadDepot(), CmdBuildRoadStop(), CmdBuildRoadVeh(), CmdBuildShip(), CmdBuildTown(), CmdBuildTrainDepot(), CmdBuildTrainWaypoint(), CmdBuyShareInCompany(), CmdChangeTimetable(), CmdConvertRail(), CmdGiveMoney(), CmdInsertOrder(), CmdMoveRailVehicle(), CmdPlantTree(), CmdRemoveFromRailroadStation(), CmdReverseTrainDirection(), CmdSellShareInCompany(), CmdSetVehicleOnTime(), ConvertDisplaySpeedToSpeed(), ConvertSpeedToDisplaySpeed(), CreateNewIndustryHelper(), DeliverGoods(), DeliverGoodsToIndustry(), DoCreateTown(), DoTrainPathfind(), DrawSmallMapStuff(), ExpandTown(), ExtendTrainReservation(), FindClosestTrainDepot(), FindSafePosition(), FindStationsAroundTiles(), FindStationsNearby(), FlatEmptyWorld(), FloodVehicles(), FollowTrainReservation(), FreightWagonMult(), GamelogMode(), GamelogTestMode(), GenerateIndustries(), GenerateTerrainPerlin(), GenerateTownName(), GenerateTrees(), GenerateWorld(), AIAirport::GetAirportCoverageRadius(), GetAirportNoiseLevelForTown(), AITown::GetAllowedNoise(), AITile::GetCargoAcceptance(), AITile::GetCargoProduction(), Station::GetCatchmentRadius(), GetClosestWaterDistance(), GetCompanyRailtypes(), GetCompanyRoadtypes(), IndustrySpec::GetConstructionCost(), AIStation::GetCoverageRadius(), GetDriveableTrackdirBits(), GetGlobalVariable(), GetMaskOfTownActions(), AIBridge::GetMaxLength(), AIEventEnginePreview::GetMaxSpeed(), AIEngine::GetMaxSpeed(), GetNewEngine(), AIAirport::GetNoiseLevelIncrease(), GetRandomTreeType(), GetServiceIntervalClamped(), GetSnowLine(), GetTerrainType(), GetTileSlope(), GetValidAirports(), AIGameSettings::GetValue(), GrayscaleToMapHeights(), GrowTownInTile(), GUIPlaceProcDragXY(), HasCatenaryDrawn(), HeightMapCoastLines(), HeightMapGenerate(), HeightMapNormalize(), HeightMapSineTransform(), HighestSnowLine(), InitLoading(), int_noise(), AIGameSettings::IsDisabledVehicleType(), IsRoadAllowedHere(), LoadUnloadVehicle(), LowestSnowLine(), MaybeNewIndustry(), NewTrainPathfind(), NPFFindSafeTile(), NPFSaveTargetData(), CompanyWindow::OnPaint(), PlaceInitialIndustry(), PlaceTreesRandomly(), AIIndustryType::ProductionCanIncrease(), RemoveRoad(), ResetIndustries(), ResetNewGRFData(), RestoreVehicleOrders(), RoadFindPathToDest(), SaveHighScoreValue(), SetTileType(), StartScenario(), StationJoinerNeeded(), TerraformTileHeight(), TestAutoslopeOnRailTile(), TgenSetTileHeight(), TownGetVariable(), TownHouseChangeInfo(), TownLayoutAllows2x2HouseHere(), TownLayoutAllowsHouseHere(), TrainCheckIfLineEnds(), TrainConsistChanged(), TranslateXYToTileCoord(), TryPathReserve(), TryReserveSafeTrack(), UpdateAircraftSpeed(), UpdateTownGrowRate(), UpdateTrainSpeed(), YapfCheckReverseTrain(), YapfChooseRailTrack(), YapfChooseRoadTrack(), YapfChooseShipTrack(), YapfFindNearestRailDepotTwoWay(), YapfFindNearestRoadDepot(), YapfRailFindNearestSafeTile(), and YapfRoadVehDistanceToTile().

The settings values that are used for new games and/or modified in config file.

Definition at line 71 of file settings.cpp.

Referenced by _GenerateWorld(), AIConfigWindow::OnClick(), AISettingsWindow::OnClick(), AIConfigWindow::OnPaint(), and StartScenario().


Generated on Fri Jul 31 22:33:26 2009 for OpenTTD by  doxygen 1.5.6