OpenTTD
|
Functions and types used internally for the settings configurations. More...
#include "saveload/saveload.h"
Go to the source code of this file.
Data Structures | |
struct | SettingDescBase |
Properties of config file settings. More... | |
struct | SettingDesc |
Typedefs | |
typedef SimpleTinyEnumT < SettingDescTypeLong, byte > | SettingDescType |
typedef SimpleTinyEnumT < SettingGuiFlagLong, uint16 > | SettingGuiFlag |
typedef bool | OnChange (int32 var) |
callback prototype on data modification | |
typedef size_t | OnConvert (const char *value) |
callback prototype for conversion error | |
typedef SettingDesc | SettingDescGlobVarList |
Enumerations | |
enum | SettingDescTypeLong { SDT_BEGIN = 0, SDT_NUMX = 0, SDT_BOOLX = 1, SDT_ONEOFMANY = 2, SDT_MANYOFMANY = 3, SDT_INTLIST = 4, SDT_STRING = 5, SDT_END } |
Convention/Type of settings. More... | |
enum | SettingGuiFlagLong { SGF_NONE = 0, SGF_0ISDISABLED = 1 << 0, SGF_DISPLAY_ABS = 1 << 1, SGF_MULTISTRING = 1 << 2, SGF_NETWORK_ONLY = 1 << 3, SGF_CURRENCY = 1 << 4, SGF_NO_NETWORK = 1 << 5, SGF_NEWGAME_ONLY = 1 << 6, SGF_SCENEDIT_TOO = 1 << 7, SGF_PER_COMPANY = 1 << 8 } |
enum | SettingCategory { SC_NONE = 0, SC_BASIC_LIST = 1 << 0, SC_ADVANCED_LIST = 1 << 1, SC_EXPERT_LIST = 1 << 2, SC_BASIC = SC_BASIC_LIST | SC_ADVANCED_LIST | SC_EXPERT_LIST, SC_ADVANCED = SC_ADVANCED_LIST | SC_EXPERT_LIST, SC_EXPERT = SC_EXPERT_LIST, SC_END } |
A SettingCategory defines a grouping of the settings. More... | |
enum | SettingType { ST_GAME, ST_COMPANY, ST_CLIENT, ST_ALL } |
Type of settings for filtering. More... |
Functions | |
const SettingDesc * | GetSettingFromName (const char *name, uint *i) |
Given a name of setting, return a setting description of it. | |
bool | SetSettingValue (uint index, int32 value, bool force_newgame=false) |
Top function to save the new value of an element of the Settings struct. | |
bool | SetSettingValue (uint index, const char *value, bool force_newgame=false) |
Set a setting value with a string. | |
void | SetCompanySetting (uint index, int32 value) |
Top function to save the new value of an element of the Settings struct. |
Functions and types used internally for the settings configurations.
Definition in file settings_internal.h.
enum SettingCategory |
A SettingCategory defines a grouping of the settings.
The group SC_BASIC is intended for settings which also a novice player would like to change and is able to understand. The group SC_ADVANCED is intended for settings which an experienced player would like to use. This is the case for most settings. Finally SC_EXPERT settings only few people want to see in rare cases. The grouping is meant to be inclusive, i.e. all settings in SC_BASIC also will be included in the set of settings in SC_ADVANCED. The group SC_EXPERT contains all settings.
Definition at line 63 of file settings_internal.h.
enum SettingDescTypeLong |
Convention/Type of settings.
This is then further specified if necessary with the SLE_ (SLE_VAR/SLE_FILE) enums in saveload.h
Definition at line 23 of file settings_internal.h.
enum SettingGuiFlagLong |
Definition at line 38 of file settings_internal.h.
enum SettingType |
Type of settings for filtering.
ST_GAME |
Game setting. |
ST_COMPANY |
Company setting. |
ST_CLIENT |
Client setting. |
ST_ALL |
Used in setting filter to match all types. |
Definition at line 82 of file settings_internal.h.
const SettingDesc* GetSettingFromName | ( | const char * | name, |
uint * | i | ||
) |
Given a name of setting, return a setting description of it.
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. |
NULL
indicates failure to obtain the description Definition at line 2047 of file settings.cpp.
References SaveLoad::cmd, SettingDesc::desc, SettingDescBase::name, SettingDesc::save, SlIsObjectCurrentlyValid(), SaveLoad::version_from, and SaveLoad::version_to.
Referenced by GetCompanySettingIndex(), NewsTypeData::GetDisplay(), IConsoleGetSetting(), SettingEntry::Init(), and GameOptionsWindow::OnDropdownSelect().
void SetCompanySetting | ( | uint | index, |
int32 | value | ||
) |
Top function to save the new value of an element of the Settings struct.
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 1959 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(), GameSettingsWindow::OnDropdownSelect(), and GameSettingsWindow::OnQueryTextFinished().
bool SetSettingValue | ( | uint | index, |
int32 | value, | ||
bool | force_newgame | ||
) |
Top function to save the new value of an element of the Settings struct.
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 1918 of file settings.cpp.
References _network_server, _networking, CMD_CHANGE_SETTING, SaveLoad::conv, SettingDesc::desc, DoCommandP(), GetGameSettings(), GetVariableAddress(), SettingDescBase::proc, ReadValue(), SettingDesc::save, SetWindowClassesDirty(), SLF_NO_NETWORK_SYNC, WC_GAME_OPTIONS, and Write_ValidateSetting().
Referenced by GameSettingsWindow::OnClick(), GameOptionsWindow::OnDropdownSelect(), GameSettingsWindow::OnDropdownSelect(), and GameSettingsWindow::OnQueryTextFinished().
bool SetSettingValue | ( | uint | index, |
const char * | value, | ||
bool | force_newgame | ||
) |
Set a setting value with a string.
index | the settings index. |
value | the value to write |
force_newgame | force the newgame settings |
Definition at line 2022 of file settings.cpp.
References _settings_game, SaveLoad::conv, SettingDesc::desc, free(), GetVariableAddress(), GetVarMemType(), SaveLoad::length, SettingDescBase::proc, SettingDesc::save, SLE_VAR_STRQ, SLF_NO_NETWORK_SYNC, strecpy(), and stredup().