Typedefs | Functions | Variables

settings.cpp File Reference

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

#include "stdafx.h"
#include "currency.h"
#include "screenshot.h"
#include "network/network.h"
#include "network/network_func.h"
#include "settings_internal.h"
#include "command_func.h"
#include "console_func.h"
#include "pathfinder/pathfinder_type.h"
#include "genworld.h"
#include "train.h"
#include "news_func.h"
#include "window_func.h"
#include "sound_func.h"
#include "company_func.h"
#include "rev.h"
#include "fontcache.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 "base_media_base.h"
#include "gamelog.h"
#include "settings_func.h"
#include "ini_type.h"
#include "ai/ai_config.hpp"
#include "ai/ai.hpp"
#include "ship.h"
#include "smallmap_gui.h"
#include "roadveh.h"
#include "fios.h"
#include "company_manager_face.h"
#include "infrastructure_func.h"
#include "strings_func.h"
#include "trafficlight_func.h"
#include "void_map.h"
#include "station_base.h"
#include "table/strings.h"
#include "table/settings.h"

Go to the source code of this file.

Typedefs

typedef void SettingDescProc (IniFile *ini, const SettingDesc *desc, const char *grpname, void *object)
typedef void SettingDescProcList (IniFile *ini, const char *grpname, StringList *list)

Functions

static bool IsSignedVarMemType (VarType vt)
static size_t LookupOneOfMany (const char *many, const char *one, size_t onelen=0)
 Find the index value of a ONEofMANY type in a string seperated by |.
static size_t LookupManyOfMany (const char *many, const char *str)
 Find the set-integer value MANYofMANY type in a string.
static int ParseIntList (const char *p, int *items, int maxitems)
 Parse an integerlist string and set each found value.
static bool LoadIntList (const char *str, void *array, int nelems, VarType type)
 Load parsed string-values into an integer-array (intlist).
static void MakeIntList (char *buf, const char *last, const void *array, int nelems, VarType type)
 Convert an integer-array (intlist) to a string representation.
static void MakeOneOfMany (char *buf, const char *last, const char *many, int id)
 Convert a ONEofMANY structure to a string representation.
static void MakeManyOfMany (char *buf, const char *last, const char *many, uint32 x)
 Convert a MANYofMANY structure to a string representation.
static const void * StringToVal (const SettingDescBase *desc, const char *orig_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 IniLoadSettings (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 IniSaveSettings (IniFile *ini, const SettingDesc *sd, const char *grpname, void *object)
 Save the values of settings to the inifile.
static void IniLoadSettingList (IniFile *ini, const char *grpname, StringList *list)
 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 IniSaveSettingList (IniFile *ini, const char *grpname, StringList *list)
 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)
 Reposition the main toolbar as the setting changed.
static bool v_PositionStatusbar (int32 p1)
 Reposition the statusbar as the setting changed.
static bool PopulationInLabelActive (int32 p1)
static bool RedrawScreen (int32 p1)
static bool RedrawSmallmap (int32 p1)
 Redraw the smallmap after a colour scheme change.
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 TrainAccelerationModelChanged (int32 p1)
static bool TrainSlopeSteepnessChanged (int32 p1)
 This function updates the train acceleration cache after a steepness change.
static bool RoadVehAccelerationModelChanged (int32 p1)
 This function updates realistic acceleration caches when the setting "Road vehicle acceleration model" is set.
static bool RoadVehSlopeSteepnessChanged (int32 p1)
 This function updates the road vehicle acceleration cache after a steepness change.
static bool DragSignalsDensityChanged (int32)
static bool TownFoundingChanged (int32 p1)
static bool InvalidateVehTimetableWindow (int32 p1)
static bool InvalidateNewGRFChangeWindows (int32 p1)
 Update any possible saveload window and delete any newgrf dialogue as its widget parts might change.
static bool InvalidateCompanyLiveryWindow (int32 p1)
static bool InvalidateIndustryViewWindow (int32 p1)
static bool RedrawTownAuthority (int32 p1)
 Update the town authority window after a town authority setting change.
void SetDifficultyLevel (int mode, DifficultySettings *gm_opt)
static void ValidateSettings ()
 Checks if any settings are set to incorrect values, and sets them to correct values in that case.
static bool DifficultyReset (int32 level)
static bool DifficultyChange (int32)
static bool DifficultyNoiseChange (int32 i)
static bool MaxNoAIsChange (int32 i)
static bool CheckRoadSide (int p1)
 Check whether the road side may be changed.
static size_t 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 bool TLSettingChanged (int32 p1)
 What to do when traffic light Setting was changed.
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 bool StationCatchmentChanged (int32 p1)
static bool UpdateClientName (int32 p1)
static bool UpdateServerPassword (int32 p1)
static bool UpdateRconPassword (int32 p1)
static bool UpdateClientConfigValues (int32 p1)
static bool CheckSharingRail (int32 p1)
static bool CheckSharingRoad (int32 p1)
static bool CheckSharingWater (int32 p1)
static bool CheckSharingAir (int32 p1)
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.
static 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)
 Load newstype settings from a configuration file.
static void AILoadConfig (IniFile *ini, const char *grpname)
static GRFConfigGRFLoadConfig (IniFile *ini, const char *grpname, bool is_static)
 Load a GRF configuration.
static void NewsDisplaySaveConfig (IniFile *ini, const char *grpname)
 Write newstype settings to a configuration file.
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)
 Get the list of known NewGrf presets.
GRFConfigLoadGRFPresetFromConfig (const char *config_name)
 Load a NewGRF configuration by preset-name.
void SaveGRFPresetToConfig (const char *config_name, GRFConfig *config)
 Save a NewGRF configuration with a preset name.
void DeleteGRFPresetFromConfig (const char *config_name)
 Delete a NewGRF configuration by preset name.
const SettingDescGetSettingDescription (uint index)
CommandCost CmdChangeSetting (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Network-safe changing of settings (server-only).
CommandCost CmdChangeCompanySetting (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Change one of the per-company settings.
bool SetSettingValue (uint index, int32 value, bool force_newgame)
 Top function to save the new value of an element of the Settings struct.
void SetCompanySetting (uint index, int32 value)
 Top function to save the new value of an element of the Settings struct.
void SetDefaultCompanySettings (CompanyID cid)
 Set the company settings for a new company to their default values.
void SyncCompanySettings ()
 Sync all company settings in a multiplayer game.
uint GetCompanySettingIndex (const char *name)
 Get the index in the _company_settings array of a setting.
CompanyProfile GetCompanyProfile (const Company &company)
 Build the CompanyProfile information from a given company.
StringID SetCompanyProfile (const CompanyProfile &company_profile)
 Set a companies information from a CompanyProfile.
StringID CompanyLoadProfile (CompanyProfile &company_profile)
 Load the company profile from the config.
StringID CompanySaveProfile (const CompanyProfile &company_profile)
 Save the company profile information to the config.
bool SetSettingValue (uint index, const char *value, bool force_newgame)
 Set a setting value with a string.
const SettingDescGetSettingFromName (const char *name, uint *i)
 Given a name of setting, return a setting description of it.
void IConsoleSetSetting (const char *name, const char *value, bool force_newgame)
void IConsoleSetSetting (const char *name, int value)
void IConsoleGetSetting (const char *name, bool force_newgame)
 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 SaveSettings (const SettingDesc *sd, void *object)
 Save and load handler for settings.
static void Load_OPTS ()
static void Load_PATS ()
static void Check_PATS ()
static void Save_PATS ()
void CheckConfig ()

Variables

ClientSettings _settings_client
 The current settings for this game.
GameSettings _settings_game
 Game settings of a running game or the scenario editor.
GameSettings _settings_newgame
 Game settings for new games (updated from the intro screen).
VehicleDefaultSettings _old_vds
 Used for loading default vehicles settings from old savegames.
char * _config_file
 Configuration file of OpenTTD.
static const char *const _list_group_names []
 Groups in openttd.cfg that are actually lists.
static const DifficultySettings _default_game_diff [3]
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 three 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. 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.
  3. Handle saving/loading of the PATS chunk inside the savegame.
See also:
SettingDesc
SaveLoad

Definition in file settings.cpp.


Function Documentation

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 1053 of file settings.cpp.

References RoadVehiclesAreBuilt().

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

Change one of the per-company settings.

Parameters:
tile unused
flags operation to perform
p1 the index of the setting in the _company_settings array which identifies it
p2 the new value for the setting The new value is properly clamped to its minimum/maximum when setting
text unused
Returns:
the cost of this operation or an error

Definition at line 1733 of file settings.cpp.

References _current_company, CMD_ERROR, SaveLoad::conv, DC_EXEC, SettingDesc::desc, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), GetVariableAddress(), lengthof, SettingDescBase::proc, ReadValue(), SettingDesc::save, SetWindowDirty(), Write_ValidateSetting(), and WriteValue().

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
text unused
Returns:
the cost of this operation or an error
See also:
_settings

Definition at line 1680 of file settings.cpp.

References _networking, CMD_ERROR, SaveLoad::conv, DC_EXEC, SettingDesc::desc, SettingDescBase::flags, GamelogSetting(), GamelogStartAction(), GamelogStopAction(), GetGameSettings(), GetVariableAddress(), GLAT_SETTING, SettingDescBase::name, SettingDescBase::proc, ReadValue(), SettingDesc::save, SetWindowDirty(), SGF_NETWORK_ONLY, SGF_NEWGAME_ONLY, SGF_NO_NETWORK, SGF_SCENEDIT_TOO, SlIsObjectCurrentlyValid(), SaveLoad::version_from, SaveLoad::version_to, Write_ValidateSetting(), and WriteValue().

StringID CompanyLoadProfile ( CompanyProfile company_profile  ) 

Load the company profile from the config.

Parameters:
company_profile CompanyProfile pointer to load into
Returns:
STR_NULL on success. STR_* on fail

Definition at line 1931 of file settings.cpp.

References Livery::colour1, Livery::colour2, IniFile::GetGroup(), IniGroup::GetItem(), Livery::in_use, MAX_LENGTH_COMPANY_NAME_CHARS, MAX_LENGTH_PRESIDENT_NAME_CHARS, and IniItem::value.

Referenced by CompanyWindow::OnClick().

StringID CompanySaveProfile ( const CompanyProfile company_profile  ) 

Save the company profile information to the config.

Parameters:
company_profile CompanyProfile to save
Returns:
STR_NULL on success. STR_PROFILE_SAVE_ERROR on fail

Definition at line 1980 of file settings.cpp.

References _config_file, Livery::colour1, Livery::colour2, IniFile::GetGroup(), IniGroup::GetItem(), Livery::in_use, IniFile::RemoveGroup(), IniFile::SaveToDisk(), and IniItem::SetValue().

Referenced by CompanyWindow::OnClick().

static size_t 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 1066 of file settings.cpp.

References LookupOneOfMany().

static bool ConvertOldNewsSetting ( const char *  name,
const char *  value 
) [static]

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 1274 of file settings.cpp.

References _news_type_data, and NewsTypeData::display.

Referenced by NewsDisplayLoadConfig().

void DeleteGRFPresetFromConfig ( const char *  config_name  ) 

Delete a NewGRF configuration by preset name.

Parameters:
config_name Name of the preset.

Definition at line 1652 of file settings.cpp.

References _config_file, IniFile::RemoveGroup(), and IniFile::SaveToDisk().

CompanyProfile GetCompanyProfile ( const Company company  ) 

Build the CompanyProfile information from a given company.

Parameters:
company The company to build from
Returns:
A filled CompanyProfile

Definition at line 1867 of file settings.cpp.

References CompanyProperties::face, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, lastof, and SetDParam().

Referenced by CompanyWindow::OnClick().

uint GetCompanySettingIndex ( const char *  name  ) 

Get the index in the _company_settings array of a setting.

Parameters:
name The name of the setting
Returns:
The index in the _company_settings array

Definition at line 1854 of file settings.cpp.

References SettingDesc::desc, SettingDescBase::flags, GetSettingFromName(), and SGF_PER_COMPANY.

Referenced by AIGroup::EnableWagonRemoval(), ReplaceVehicleWindow::OnClick(), AICompany::SetAutoRenewMoney(), AICompany::SetAutoRenewMonths(), and AICompany::SetAutoRenewStatus().

void GetGRFPresetList ( GRFPresetList list  ) 

Get the list of known NewGrf presets.

Parameters:
list[inout] Pointer to list for storing the preset names.

Definition at line 1598 of file settings.cpp.

References SmallVector< T, S >::Append(), AutoFreeSmallVector< T, S >::Clear(), IniFile::group, IniGroup::name, and IniGroup::next.

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 2045 of file settings.cpp.

References SaveLoad::cmd, SettingDesc::desc, SettingDescBase::name, SettingDesc::save, SlIsObjectCurrentlyValid(), SaveLoad::version_from, and SaveLoad::version_to.

Referenced by GetCompanySettingIndex(), AIGameSettings::GetValue(), IConsoleGetSetting(), SettingEntry::Init(), AIGameSettings::IsValid(), GameDifficultyWindow::OnClick(), GameOptionsWindow::OnDropdownSelect(), GameDifficultyWindow::OnInvalidateData(), GameDifficultyWindow::SetStringParameters(), and GameDifficultyWindow::UpdateWidgetSize().

static GRFConfig* GRFLoadConfig ( IniFile ini,
const char *  grpname,
bool  is_static 
) [static]

Load a GRF configuration.

Parameters:
ini The configuration to read from.
grpname Group name containing the configuration of the GRF.
is_static GRF is static.

Definition at line 1379 of file settings.cpp.

References FillGRFDetails(), GRFConfig::flags, GCF_INVALID, GCF_STATIC, GCF_SYSTEM, GCF_UNSAFE, GCS_NOT_FOUND, IniFile::GetGroup(), GRFIdentifier::grfid, HasBit(), GRFConfig::ident, IniGroup::item, lengthof, IniItem::name, GRFConfig::next, IniItem::next, GRFConfig::num_params, GRFConfig::param, ParseIntList(), SetBit(), ShowInfoF(), GRFConfig::status, StrEmpty(), and IniItem::value.

Referenced by LoadFromConfig(), and LoadGRFPresetFromConfig().

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 1245 of file settings.cpp.

References GetVariableAddress(), IsSavegameVersionBefore(), SettingDesc::save, SlIsObjectCurrentlyValid(), SaveLoad::version_from, SaveLoad::version_to, and Write_ValidateSetting().

Referenced by LoadFromConfig().

void IConsoleGetSetting ( const char *  name,
bool  force_newgame 
)

Output value of a specific setting to the console.

Parameters:
name Name of the setting to output its value
force_newgame force the newgame settings

Definition at line 2124 of file settings.cpp.

References CC_WARNING, SettingDescBase::cmd, SaveLoad::conv, SettingDesc::desc, SettingDescBase::flags, GetSettingFromName(), GetVariableAddress(), GetVarMemType(), IConsolePrintF(), SettingDescBase::max, SettingDescBase::min, ReadValue(), SettingDesc::save, SDT_BOOLX, SDT_STRING, SGF_0ISDISABLED, and SLE_VAR_STRQ.

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 2157 of file settings.cpp.

References CC_DEFAULT, CC_WARNING, SettingDescBase::cmd, SaveLoad::cmd, SaveLoad::conv, SettingDesc::desc, GetGameSettings(), GetVariableAddress(), GetVarMemType(), IConsolePrintF(), lengthof, SettingDescBase::min, SettingDescBase::name, ReadValue(), SettingDesc::save, SDT_BOOLX, SDT_STRING, SLE_VAR_STRQ, SlIsObjectCurrentlyValid(), SaveLoad::version_from, and SaveLoad::version_to.

static void IniLoadSettingList ( IniFile ini,
const char *  grpname,
StringList list 
) [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 new list with entries of the given section

Definition at line 651 of file settings.cpp.

References SmallVector< T, S >::Append(), AutoFreeSmallVector< T, S >::Clear(), IniFile::GetGroup(), IniGroup::item, and IniItem::next.

Referenced by LoadFromConfig().

static void IniLoadSettings ( 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 441 of file settings.cpp.

References SettingDescBase::cmd, SaveLoad::cmd, SaveLoad::conv, SettingDescBase::def, SettingDesc::desc, IniFile::GetGroup(), IniGroup::GetItem(), GetVariableAddress(), GetVarMemType(), SaveLoad::length, LoadIntList(), SettingDescBase::name, SettingDescBase::proc_cnvt, SettingDesc::save, 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(), StringToVal(), ttd_strlcpy(), IniItem::value, SaveLoad::version_from, SaveLoad::version_to, and Write_ValidateSetting().

Referenced by LoadFromConfig().

static void IniSaveSettingList ( IniFile ini,
const char *  grpname,
StringList list 
) [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

Definition at line 673 of file settings.cpp.

References SmallVector< T, S >::Begin(), IniGroup::Clear(), SmallVector< T, S >::End(), IniFile::GetGroup(), IniGroup::GetItem(), and IniItem::SetValue().

Referenced by SaveToConfig().

static void IniSaveSettings ( 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 530 of file settings.cpp.

References SettingDescBase::cmd, SaveLoad::cmd, SaveLoad::conv, SettingDesc::desc, IniFile::GetGroup(), GetVariableAddress(), GetVarMemType(), lastof, SaveLoad::length, MakeIntList(), MakeManyOfMany(), MakeOneOfMany(), SettingDescBase::many, SettingDescBase::name, ReadValue(), SettingDesc::save, 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_NOT_IN_CONFIG, SlIsObjectCurrentlyValid(), strecpy(), StringToVal(), IniItem::value, SaveLoad::version_from, and SaveLoad::version_to.

Referenced by SaveToConfig().

static bool InvalidateNewGRFChangeWindows ( int32  p1  )  [static]

Update any possible saveload window and delete any newgrf dialogue as its widget parts might change.

Reinit all windows as it allows access to the newgrf debug button.

Parameters:
p1 unused.
Returns:
Always true.

Definition at line 907 of file settings.cpp.

References DeleteWindowByClass(), InvalidateWindowClassesData(), and ReInitAllWindows().

GRFConfig* LoadGRFPresetFromConfig ( const char *  config_name  )  [read]

Load a NewGRF configuration by preset-name.

Parameters:
config_name Name of the preset.
Returns:
NewGRF configuration.
See also:
GetGRFPresetList

Definition at line 1619 of file settings.cpp.

References GRFLoadConfig().

static bool LoadIntList ( 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 210 of file settings.cpp.

References lengthof, and ParseIntList().

Referenced by IniLoadSettings().

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 2186 of file settings.cpp.

References SaveLoad::cmd, SaveLoad::conv, GetVariableAddress(), IsNumericType(), ReadValue(), SettingDesc::save, and Write_ValidateSetting().

static size_t LookupManyOfMany ( 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 133 of file settings.cpp.

References LookupOneOfMany(), and SetBit().

Referenced by StringToVal().

static size_t LookupOneOfMany ( 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 104 of file settings.cpp.

Referenced by ConvertLandscape(), LookupManyOfMany(), and StringToVal().

static void MakeIntList ( 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 252 of file settings.cpp.

References seprintf().

Referenced by IniSaveSettings().

static void MakeManyOfMany ( 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 307 of file settings.cpp.

References HasBit(), and seprintf().

Referenced by IniSaveSettings().

static void MakeOneOfMany ( 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 279 of file settings.cpp.

References seprintf().

Referenced by IniSaveSettings().

static void NewsDisplayLoadConfig ( IniFile ini,
const char *  grpname 
) [static]

Load newstype settings from a configuration file.

Parameters:
ini the configuration to read from.
grpname Name of the group containing the news type settings.

Definition at line 1300 of file settings.cpp.

References _news_type_data, ConvertOldNewsSetting(), DEBUG, NewsTypeData::display, IniFile::GetGroup(), IniGroup::item, NewsTypeData::name, IniItem::name, IniItem::next, StrEmpty(), and IniItem::value.

Referenced by LoadFromConfig().

static void NewsDisplaySaveConfig ( IniFile ini,
const char *  grpname 
) [static]

Write newstype settings to a configuration file.

Parameters:
ini The configuration to write to.
grpname Name of the group containing the news type settings.

Definition at line 1451 of file settings.cpp.

References _news_type_data, NewsTypeData::display, IniFile::GetGroup(), IniGroup::GetItem(), ND_OFF, ND_SUMMARY, and IniItem::SetValue().

Referenced by SaveToConfig().

static int ParseIntList ( 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 165 of file settings.cpp.

References ClampToI32().

Referenced by GRFLoadConfig(), and LoadIntList().

static bool RedrawSmallmap ( int32  p1  )  [static]

Redraw the smallmap after a colour scheme change.

Parameters:
p1 Callback parameter.
Returns:
Always true.

Definition at line 722 of file settings.cpp.

References BuildLandLegend(), BuildOwnerLegend(), and SetWindowClassesDirty().

static bool RedrawTownAuthority ( int32  p1  )  [static]

Update the town authority window after a town authority setting change.

Parameters:
p1 Unused.
Returns:
Always true.

Definition at line 932 of file settings.cpp.

References SetWindowClassesDirty().

static bool RoadVehAccelerationModelChanged ( int32  p1  )  [static]

This function updates realistic acceleration caches when the setting "Road vehicle acceleration model" is set.

Parameters:
p1 Callback parameter
Returns:
Always true

Definition at line 843 of file settings.cpp.

References GroundVehicle< T, Type >::CargoChanged(), InvalidateWindowClassesData(), Vehicle::IsFrontEngine(), VehicleSettings::roadveh_acceleration_model, SetWindowClassesDirty(), and GameSettings::vehicle.

static bool RoadVehSlopeSteepnessChanged ( int32  p1  )  [static]

This function updates the road vehicle acceleration cache after a steepness change.

Parameters:
p1 Callback parameter.
Returns:
Always true.

Definition at line 867 of file settings.cpp.

References GroundVehicle< T, Type >::CargoChanged(), and Vehicle::IsFrontEngine().

void SaveGRFPresetToConfig ( const char *  config_name,
GRFConfig config 
)

Save a NewGRF configuration with a preset name.

Parameters:
config_name Name of the preset.
config NewGRF configuration to save.
See also:
GetGRFPresetList

Definition at line 1637 of file settings.cpp.

References _config_file, and IniFile::SaveToDisk().

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 2203 of file settings.cpp.

References SaveLoad::cmd, GetVariableAddress(), SettingDesc::save, and SlSetLength().

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 1495 of file settings.cpp.

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

Referenced by SaveToConfig().

StringID SetCompanyProfile ( const CompanyProfile company_profile  ) 
void SetCompanySetting ( 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 CompanySettings struct which identifies the setting member we want to change
value new value of the setting

Definition at line 1806 of file settings.cpp.

References _local_company, CMD_CHANGE_COMPANY_SETTING, ClientSettings::company, SaveLoad::conv, SettingDesc::desc, DoCommandP(), GetVariableAddress(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), SettingDescBase::proc, ReadValue(), SettingDesc::save, and Write_ValidateSetting().

Referenced by GameSettingsWindow::OnClick(), and GameSettingsWindow::OnQueryTextFinished().

bool SetSettingValue ( uint  index,
const char *  value,
bool  force_newgame 
)

Set a setting value with a string.

Parameters:
index the settings index.
value the value to write
force_newgame force the newgame settings
Note:
Strings WILL NOT be synced over the network

Definition at line 2020 of file settings.cpp.

References SaveLoad::conv, SettingDesc::desc, GetVariableAddress(), GetVarMemType(), SaveLoad::length, SettingDescBase::proc, SettingDesc::save, SLE_VAR_STRQ, SLF_NO_NETWORK_SYNC, and ttd_strlcpy().

bool SetSettingValue ( uint  index,
int32  value,
bool  force_newgame 
)

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
value new value of the setting
force_newgame force the newgame settings

Definition at line 1767 of file settings.cpp.

References _network_server, _networking, CMD_CHANGE_SETTING, SaveLoad::conv, SettingDesc::desc, DoCommandP(), GetGameSettings(), GetVariableAddress(), SettingDescBase::proc, ReadValue(), SettingDesc::save, SetWindowDirty(), SLF_NO_NETWORK_SYNC, and Write_ValidateSetting().

Referenced by GameSettingsWindow::OnClick(), GameOptionsWindow::OnDropdownSelect(), and GameSettingsWindow::OnQueryTextFinished().

static const void* StringToVal ( const SettingDescBase desc,
const char *  orig_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
orig_str input string that will be parsed based on the type of desc
Returns:
return the parsed value of the setting

Definition at line 340 of file settings.cpp.

References SettingDescBase::cmd, LookupManyOfMany(), LookupOneOfMany(), SettingDescBase::many, SettingDescBase::name, SettingDescBase::proc_cnvt, SDT_BOOLX, SDT_INTLIST, SDT_MANYOFMANY, SDT_NUMX, SDT_ONEOFMANY, SDT_STRING, and ShowInfoF().

Referenced by IniLoadSettings(), and IniSaveSettings().

static bool TLSettingChanged ( int32  p1  )  [static]

What to do when traffic light Setting was changed.

Parameters:
p1 unused
Returns:
always 0

Definition at line 1077 of file settings.cpp.

References ClearAllTrafficLights(), GameSettings::construction, MarkWholeScreenDirty(), and ConstructionSettings::traffic_lights.

static bool TrainSlopeSteepnessChanged ( int32  p1  )  [static]

This function updates the train acceleration cache after a steepness change.

Parameters:
p1 Callback parameter.
Returns:
Always true.

Definition at line 828 of file settings.cpp.

References GroundVehicle< T, Type >::CargoChanged(), and Vehicle::IsFrontEngine().

static bool v_PositionMainToolbar ( int32  p1  )  [static]

Reposition the main toolbar as the setting changed.

Definition at line 688 of file settings.cpp.

References PositionMainToolbar().

static bool v_PositionStatusbar ( int32  p1  )  [static]

Reposition the statusbar as the setting changed.

Definition at line 695 of file settings.cpp.

References PositionNetworkChatWindow(), PositionNewsMessage(), and PositionStatusbar().

static void ValidateSettings (  )  [static]

Checks if any settings are set to incorrect values, and sets them to correct values in that case.

Definition at line 978 of file settings.cpp.

References CUSTOM_SEA_LEVEL_MIN_PERCENTAGE, CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY, DifficultySettings::diff_level, GameSettings::difficulty, GameSettings::game_creation, GameCreationSettings::land_generator, and DifficultySettings::quantity_sea_lakes.

Referenced by LoadFromConfig().

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 388 of file settings.cpp.

References Clamp(), ClampU(), SettingDescBase::cmd, SaveLoad::conv, SettingDesc::desc, SettingDescBase::flags, GetVarMemType(), SettingDescBase::max, min(), SettingDescBase::min, SettingDesc::save, SDT_BOOLX, SDT_MANYOFMANY, SDT_NUMX, SDT_ONEOFMANY, SGF_0ISDISABLED, SLE_VAR_NULL, and WriteValue().

Referenced by CmdChangeCompanySetting(), CmdChangeSetting(), HandleOldDiffCustom(), IniLoadSettings(), LoadSettings(), SetCompanySetting(), SetDefaultCompanySettings(), and SetSettingValue().


Variable Documentation

const DifficultySettings _default_game_diff[3] [static]
Initial value:
 { 
  {0, 2, 1, 999950000, 0, 0, 0, 0, 3, 0, 1, 1, 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 959 of file settings.cpp.

const char* const _list_group_names[] [static]
Initial value:
 {
  "bans",
  "newgrf",
  "servers",
  "server_bind_addresses",
  NULL
}

Groups in openttd.cfg that are actually lists.

Definition at line 89 of file settings.cpp.

const ChunkHandler _setting_chunk_handlers[]
Initial value:
 {
  { 'OPTS', NULL,      Load_OPTS, NULL, NULL,       CH_RIFF},
  { 'PATS', Save_PATS, Load_PATS, NULL, Check_PATS, CH_RIFF | CH_LAST},
}

The current settings for this game.

Definition at line 75 of file settings.cpp.

Referenced by AddNewsItem(), AfterLoadGame(), AIDebugWindow::AIDebugWindow(), ServerNetworkGameSocketHandler::AllowConnection(), ServerNetworkAdminSocketHandler::AllowConnection(), GameOptionsWindow::BuildDropDownList(), BuildLandLegend(), BuildOwnerLegend(), BuildRailClick_Remove(), CalcRaildirsDrawstyle(), CanBuildVehicleInfrastructure(), CcBuildRailTunnel(), CcBuildRoadTunnel(), CcRoadStop(), CheckMinActiveClients(), CheckOrders(), CheckPauseOnJoin(), BuildRailStationWindow::CheckSelectedSize(), CheckSoftLimit(), ClearPathReservation(), CmdCompanyCtrl(), CompaniesYearlyLoop(), Order::ConvertFromOldSavegame(), DispatchRightClickEvent(), DistributeQueue(), DoAutosave(), ClientNetworkContentSocketHandler::DownloadSelectedContent(), DrawBridgeMiddle(), DrawCategories(), DeparturesWindow< Twaypoint >::DrawDeparturesListItems(), DrawTile_Road(), DrawTile_TunnelBridge(), DrawTrackBits(), VehicleViewWindow::DrawWidget(), TimetableWindow::DrawWidget(), DrawYearColumn(), FormatString(), GenerateDefaultSaveName(), GenericPlaceSignals(), GetLogPrefix(), GetSmallMapContoursPixels(), GetSmallMapIndustriesPixels(), GetSmallMapOwnerPixels(), GetSmallMapRoutesPixels(), GetSmallMapStuckRoutesPixels(), GetSmallMapVehiclesPixels(), HandleAutoscroll(), HandleAutoSignalPlacement(), HandleMouseEvents(), Vehicle::HandlePathfindingResult(), HandleViewportScroll(), HandleWindowDragging(), IConsoleDebug(), IConsoleWarning(), InitializeRailGUI(), Town::Label(), LoadUnloadVehicle(), MakeDepartureList(), MaybeStartNewCompany(), NetworkAutoCleanCompanies(), NetworkCheckRestartMap(), NetworkClientPreferTeamChat(), NetworkDisconnect(), NetworkInitChatMessage(), NetworkMaxCompaniesReached(), NetworkMaxSpectatorsReached(), NetworkServer_Tick(), NetworkServerSendChat(), NetworkServerSetCompanyPassword(), NetworkStartUp(), NetworkUDPAdvertise(), NetworkUDPAdvertiseThread(), NetworkUDPInitialize(), NetworkUDPRemoveAdvertiseThread(), NetworkUpdateClientName(), TimetableWindow::OnClick(), BuildRoadStationWindow::OnClick(), BuildSignalWindow::OnClick(), BuildRailStationWindow::OnClick(), BuildRailToolbarWindow::OnClick(), NetworkLobbyWindow::OnClick(), BuildDocksStationWindow::OnClick(), DeparturesWindow< Twaypoint >::OnClick(), SetMinutesWindow::OnClick(), BuildAirportWindow::OnClick(), GameOptionsWindow::OnDropdownSelect(), BuildSignalWindow::OnInvalidateData(), SaveLoadWindow::OnInvalidateData(), SelectCompanyLiveryWindow::OnInvalidateData(), MainWindow::OnKeyPress(), ExtraViewportWindow::OnMouseWheel(), SmallMapWindow::OnMouseWheel(), MainWindow::OnMouseWheel(), OnNewDay(), OnNewMonth(), OnNewYear(), BuildRoadStationWindow::OnPaint(), BuildRailStationWindow::OnPaint(), BuildDocksStationWindow::OnPaint(), DeparturesWindow< Twaypoint >::OnPaint(), CompanyFinancesWindow::OnPaint(), BuildRoadToolbarWindow::OnPlaceMouseUp(), BuildRailToolbarWindow::OnPlaceMouseUp(), OrdersWindow::OnPlaceObject(), BuildIndustryWindow::OnPlaceObject(), TimetableWindow::OnQueryTextFinished(), StatusBarWindow::OnTick(), DeparturesWindow< Twaypoint >::OnTick(), OrdersWindow::OrderClick_NearestDepot(), CopyPaste::PasteArea(), PlaceRail_Station(), PositionMainToolbar(), PositionNetworkChatWindow(), PositionNewsMessage(), PositionStatusbar(), ServerNetworkGameSocketHandler::Receive_CLIENT_COMMAND(), ServerNetworkUDPSocketHandler::Receive_CLIENT_FIND_SERVER(), MasterNetworkUDPSocketHandler::Receive_MASTER_ACK_REGISTER(), ResetSignalVariant(), SaveOrLoad(), ServerNetworkGameSocketHandler::SendConfigUpdate(), ClientNetworkGameSocketHandler::SendJoin(), ServerNetworkGameSocketHandler::SendNeedCompanyPassword(), ServerNetworkGameSocketHandler::SendWelcome(), ServerNetworkAdminSocketHandler::SendWelcome(), ServerNetworkGameSocketHandler::ServerNetworkGameSocketHandler(), SetDefaultRailGui(), GameOptionsWindow::SetStringParameters(), BuildSignalWindow::SetStringParameters(), GRFConfig::SetSuitablePalette(), SetTimetableParams(), NWidgetLeaf::SetupSmallestSize(), ShowErrorMessage(), ShowMeasurementTooltips(), ShowNetworkLobbyWindow(), ShowSelectBaseStationIfNeeded(), ShowSetDateWindow(), Town::SmallLabel(), IConsoleLine::Truncate(), TryPathReserve(), TryReserveRailTrack(), UnreserveRailTrack(), UpdateAircraftSpeed(), TimetableWindow::UpdateSelectionStates(), UpdateViewportPosition(), TimetableWindow::UpdateWidgetSize(), CompanyFinancesWindow::UpdateWidgetSize(), VehicleEnterDepot(), and VpSelectTilesWithMethod().

Game settings of a running game or the scenario editor.

The current settings for this game.

Definition at line 76 of file settings.cpp.

Referenced by _GenerateWorld(), AddInflation(), AffectSpeedByZChange(), AfterLoadGame(), AfterLoadVehicles(), AircraftController(), AircraftEventHandler_AtTerminal(), AITileList_IndustryAccepting::AITileList_IndustryAccepting(), AITileList_IndustryProducing::AITileList_IndustryProducing(), AllowMoreHeightlevels(), AlwaysDrawUnpavedRoads(), AnimateTile_Road(), AutoslopeEnabled(), Subsidy::AwardTo(), BuildRailClick_Remove(), BuildTownHouse(), CalcEngineReliability(), AIRoad::CanBuildConnectedRoadParts(), AIIndustryType::CanBuildIndustry(), CanBuildVehicleInfrastructure(), CanExpandRailStation(), AIIndustryType::CanProspectIndustry(), AI::CanStartNew(), ChangeIndustryProduction(), ChangeOwnershipOfCompanyItems(), CheckAllowRemoveRoad(), CheckAllowRemoveTunnelBridge(), CheckBridgeAvailability(), CheckBuildableTile(), CheckCanTerraformSurroundingTiles(), AISettingsWindow::CheckDifficultyLevel(), CheckFlatLandRoadStop(), CheckforTownRating(), CheckIfAuthorityAllowsNewStation(), CheckIfCanLevelIndustryPlatform(), CheckIfIndustryTilesAreFree(), CheckIndustryCloseDownProtection(), CheckInfraUsageAllowed(), CheckNewIndustry_Farm(), CheckNewIndustry_Forest(), CheckNewIndustry_OilRefinery(), CheckNewIndustry_OilRig(), CheckNewTrain(), CheckNextTrainTile(), CheckRailSlope(), CheckRoadSlope(), CheckSharingChangePossible(), CheckSwitchToEuro(), CheckTLCSize(), CheckTrainAttachment(), CheckTrainStayInWormHole(), CheckVehicleBreakdown(), ChooseShipTrack(), ClickChangeClimateCheat(), CmdAutofillTimetable(), CmdAutomateTimetable(), CmdBuildAirport(), CmdBuildBridge(), CmdBuildDock(), CmdBuildIndustry(), CmdBuildRailStation(), CmdBuildRailWaypoint(), CmdBuildRoad(), CmdBuildRoadDepot(), CmdBuildRoadStop(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdBuildSingleSignal(), CmdBuildTrafficLights(), CmdBuildTrainDepot(), CmdBuildTunnel(), CmdBuyShareInCompany(), CmdChangeTimetable(), CmdCloneOrder(), CmdConvertRail(), CmdFoundTown(), CmdGiveMoney(), CmdInsertOrder(), CmdPlantTree(), CmdRefitVehicle(), CmdRemoveTrafficLights(), CmdReverseTrainDirection(), CmdSellShareInCompany(), CmdSetTimetableStart(), CmdSetVehicleOnTime(), CmdSkipToOrder(), CmdStartStopVehicle(), CompaniesMonthlyLoop(), Company::Company(), Train::ConsistChanged(), ConvertDisplaySpeedToSpeed(), ConvertSpeedToDisplaySpeed(), Vehicle::Crash(), CreateNewIndustryHelper(), DeliverGoods(), DetermineBreakdownType(), DistanceFromEdgeDir(), DoCreateTown(), DoTrainPathfind(), DrawRoadBits(), SmallMapWindow::DrawSmallMapColumn(), DrawTrafficLights(), DrawTrainDetails(), DrawTunnelBridgeRampSignal(), VehicleViewWindow::DrawWidget(), VehicleDetailsWindow::DrawWidget(), TownViewWindow::DrawWidget(), ScenarioEditorToolbarWindow::DrawWidget(), ExtendTrainReservation(), FinaliseHouseArray(), FindClosestTrainDepot(), FindJoiningBaseStation(), FindSafePosition(), FindStationsAroundTiles(), FindStationsNearby(), FindTownForIndustry(), FixAllReservations(), FlatEmptyWorld(), FollowTrainReservation(), FormatBytes(), FormatNumber(), FormatString(), FreightWagonMult(), GamelogMode(), GamelogTestMode(), AIInstance::GameLoop(), AI::GameLoop(), GenerateIndustries(), GenerateLandscape(), GenerateTerrainPerlin(), GenerateTownName(), GenerateTowns(), GenerateTrees(), GroundVehicle< T, Type >::GetAcceleration(), AIAirport::GetAirportCoverageRadius(), GetAirportNoiseLevelForTown(), AITown::GetAllowedNoise(), AITile::GetCargoAcceptance(), AITile::GetCargoProduction(), Station::GetCatchmentRadius(), GetClosestWaterDistance(), GetCompanyRailtypes(), GetCompanyRoadtypes(), AIConfig::GetConfig(), IndustrySpec::GetConstructionCost(), AIIndustryType::GetConstructionCost(), AIStation::GetCoverageRadius(), RoadVehicle::GetCurrentMaxSpeed(), Train::GetCurveSpeedLimit(), TownViewWindow::GetDesiredInfoHeight(), GetDriveableTrackdirBits(), GetFreeUnitNumber(), GetGlobalVariable(), GetIndustryGamePlayProbability(), Engine::GetLifeLengthInDays(), GetMaskOfTownActions(), AIBridge::GetMaxLength(), AIEventEnginePreview::GetMaxSpeed(), AIEngine::GetMaxSpeed(), GetNewEngine(), AIAirport::GetNoiseLevelIncrease(), GetNumberOfIndustries(), GetOtherAqueductEnd(), GetRailTypeDropDownList(), GetRandomTreeType(), GetScaledIndustryGenerationProbability(), Train::GetSlopeSteepness(), RoadVehicle::GetSlopeSteepness(), GetSmallMapVegetationPixels(), GetSnowLine(), GetTerrainType(), GetTileSlope(), GetTLState(), GetTrafficLightConsist(), AIGameSettings::GetValue(), GfxLoadSprites(), GrayscaleToMapHeights(), GrowTown(), GrowTownInTile(), GUIPlaceProcDragXY(), Vehicle::HandleBreakdown(), Vehicle::HandleLoading(), HasCatenaryDrawn(), HeightMapCoastLines(), HeightMapGenerate(), HeightMapNormalize(), HeightMapSineTransform(), HeightMapSmoothCoastInDirection(), HighestSnowLine(), IndustryCargoesWindow::HousesCanAccept(), LinkGraphComponent::Init(), InitLoading(), int_noise(), ObjectSpec::IsAvailable(), AirportSpec::IsAvailable(), IsCommandAllowedWhilePaused(), AIGameSettings::IsDisabledVehicleType(), IsInfraUsageAllowed(), IsOneSignalBlock(), IsRoadAllowedHere(), IsValidTileForWaypoint(), LoadSpriteTables(), LoadUnloadVehicle(), LowestSnowLine(), Town::MaxTownNoise(), MaybeCrashAirplane(), MaybeStartNewCompany(), MayCompanyTakeOver(), IndustryBuildData::MonthlyLoop(), Vehicle::NeedsAutomaticServicing(), Vehicle::NeedsServicing(), NetworkServerSetCompanyPassword(), NPFFindSafeTile(), NPFSaveTargetData(), TownViewWindow::OnClick(), BuildIndustryWindow::OnClick(), BuildVehicleWindow::OnClick(), LandInfoWindow::OnInit(), BuildTreesWindow::OnInvalidateData(), BuildIndustryWindow::OnInvalidateData(), BuildVehicleWindow::OnInvalidateData(), ScenarioEditorToolbarWindow::OnPaint(), TimetableWindow::OnPaint(), BuildRoadStationWindow::OnPaint(), BuildRailStationWindow::OnPaint(), BuildDocksStationWindow::OnPaint(), CompanyWindow::OnPaint(), BuildAirportWindow::OnPaint(), BuildTreesWindow::OnPlaceObject(), ScenarioEditorToolbarWindow::OnQueryTextFinished(), OnTick_LinkGraph(), PayDailyTrackSharingFee(), PaySharingFee(), PayStationSharingFee(), CargoPayment::PayTransfer(), CYapfCostRailT< Types >::PfCalcCost(), PlaceRail_Station(), PlaceRoad_BusStation(), PlaceRoad_TrafficLights(), PlaceRoad_TruckStation(), PlaceTreesRandomly(), AIIndustryType::ProductionCanIncrease(), ServerNetworkUDPSocketHandler::Receive_CLIENT_FIND_SERVER(), RecomputePrices(), RemoveAirport(), RemoveAndSellVehicle(), Vehicle::RemoveFromShared(), RemoveRoad(), ReplaceChain(), ReserveConsist(), AI::ResetConfig(), ResetIndustries(), ResetNewGRFData(), RoadFindPathToDest(), Station::RunAverages(), SaveHighScoreValue(), ServerNetworkGameSocketHandler::SendNeedCompanyPassword(), Vehicle::SendToDepot(), ServerNetworkGameSocketHandler::SendWelcome(), ServerNetworkAdminSocketHandler::SendWelcome(), BuildIndustryWindow::SetStringParameters(), SetTileType(), SetYearEngineAgingStops(), Vehicle::ShowVisualEffect(), StartupOneEngine(), StateGameLoop(), StationJoinerNeeded(), AIInstance::Suspend(), TerraformTileHeight(), TestAutoslopeOnRailTile(), TgenSetTileHeight(), TGPGetMaxAllowedHeight(), TileAddWrap(), ToolbarScenDatePanel(), TownGenerateCargo(), TownGetVariable(), TownHouseChangeInfo(), TownLayoutAllows2x2HouseHere(), TownLayoutAllowsHouseHere(), TrainCheckIfLineEnds(), TrainDetailsCapacityTab(), TrainDetailsCargoTab(), TrainDetailsInfoTab(), TranslateXYToTileCoord(), TryPathReserve(), TryReserveSafeTrack(), AI::Uninitialize(), UpdateAircraftSpeed(), UpdateLandscapingLimits(), UpdateSignalsAroundSegment(), UpdateSignalsInBuffer(), Train::UpdateSpeed(), RoadVehicle::UpdateSpeed(), UpdateTownDemands(), UpdateTownGrowRate(), UpdateVehicleTimetable(), IndustrySpec::UsesSmoothEconomy(), VehicleEnterDepot(), YapfRoadVehicleChooseTrack(), YapfRoadVehicleFindNearestDepot(), YapfShipChooseTrack(), YapfTrainCheckReverse(), YapfTrainChooseTrack(), YapfTrainFindNearestDepot(), and YapfTrainFindNearestSafeTile().