OpenTTD Source 20241224-master-gee860a5c8e
|
Public Member Functions | |
GameConfig (const GameConfig *config) | |
class GameInfo * | GetInfo () const |
bool | ResetInfo (bool force_exact_match) |
When ever the Game Scanner is reloaded, all infos become invalid. | |
Public Member Functions inherited from ScriptConfig | |
ScriptConfig (const ScriptConfig *config) | |
Create a new Script config that is a copy of an existing config. | |
virtual | ~ScriptConfig () |
Delete an Script configuration. | |
void | Change (std::optional< const std::string > name, int version=-1, bool force_exact_match=false) |
Set another Script to be loaded in this slot. | |
class ScriptInfo * | GetInfo () const |
Get the ScriptInfo linked to this ScriptConfig. | |
const ScriptConfigItemList * | GetConfigList () |
Get the config list for this ScriptConfig. | |
void | AnchorUnchangeableSettings () |
As long as the default of a setting has not been changed, the value of the setting is not stored. | |
int | GetSetting (const std::string &name) const |
Get the value of a setting for this config. | |
void | SetSetting (const std::string_view name, int value) |
Set the value of a setting for this config. | |
void | ResetSettings () |
Reset all settings to their default value. | |
void | ResetEditableSettings (bool yet_to_start) |
Reset only editable and visible settings to their default value. | |
bool | HasScript () const |
Is this config attached to an Script? In other words, is there a Script that is assigned to this slot. | |
const std::string & | GetName () const |
Get the name of the Script. | |
int | GetVersion () const |
Get the version of the Script. | |
void | StringToSettings (const std::string &value) |
Convert a string which is stored in the config file or savegames to custom settings of this Script. | |
std::string | SettingsToString () const |
Convert the custom settings to a string that can be stored in the config file or savegames. | |
std::optional< std::string > | GetTextfile (TextfileType type, CompanyID slot) const |
Search a textfile file next to this script. | |
void | SetToLoadData (ScriptInstance::ScriptData *data) |
ScriptInstance::ScriptData * | GetToLoadData () |
Static Public Member Functions | |
static GameConfig * | GetConfig (ScriptSettingSource source=SSS_DEFAULT) |
Get the config of a company. | |
Protected Member Functions | |
ScriptInfo * | FindInfo (const std::string &name, int version, bool force_exact_match) override |
This function should call back to the Scanner in charge of this Config, to find the ScriptInfo belonging to a name+version. | |
Protected Member Functions inherited from ScriptConfig | |
void | ClearConfigList () |
Routine that clears the config list. | |
Additional Inherited Members | |
Public Types inherited from ScriptConfig | |
enum | ScriptSettingSource { SSS_DEFAULT , SSS_FORCE_NEWGAME , SSS_FORCE_GAME } |
Where to get the config from, either default (depends on current game mode) or force either newgame or normal. More... | |
Protected Types inherited from ScriptConfig | |
typedef std::map< std::string, int > | SettingValueList |
List with name=>value pairs of all script-specific settings. | |
Protected Attributes inherited from ScriptConfig | |
std::string | name |
Name of the Script. | |
int | version |
Version of the Script. | |
class ScriptInfo * | info |
ScriptInfo object for related to this Script version. | |
SettingValueList | settings |
List with all setting=>value pairs that are configure for this Script. | |
std::unique_ptr< ScriptConfigItemList > | config_list |
List with all settings defined by this Script. | |
std::unique_ptr< ScriptInstance::ScriptData > | to_load_data |
Data to load after the Script start. | |
Definition at line 15 of file game_config.hpp.
|
inline |
Definition at line 22 of file game_config.hpp.
|
inline |
Definition at line 26 of file game_config.hpp.
|
overrideprotectedvirtual |
This function should call back to the Scanner in charge of this Config, to find the ScriptInfo belonging to a name+version.
Implements ScriptConfig.
Definition at line 35 of file game_config.cpp.
References Game::FindInfo(), ScriptConfig::name, and ScriptConfig::version.
|
static |
Get the config of a company.
Definition at line 18 of file game_config.cpp.
References _settings_game, _settings_newgame, GameSettings::game_config, ScriptConfig::SSS_DEFAULT, and ScriptConfig::SSS_FORCE_NEWGAME.
Referenced by GSConfigWindow::DrawWidget(), GameInstance::GetSetting(), GSDTChunkHandler::Load(), GSConfigWindow::OnClick(), GSConfigWindow::OnInvalidateData(), and Game::StartNew().
class GameInfo * GameConfig::GetInfo | ( | ) | const |
Definition at line 30 of file game_config.cpp.
bool GameConfig::ResetInfo | ( | bool | force_exact_match | ) |
When ever the Game Scanner is reloaded, all infos become invalid.
This function tells GameConfig about this.
force_exact_match | If true try to find the exact same version as specified. If false any version is ok. |
true
if the reset was successful, false
if the Game was no longer found. Definition at line 40 of file game_config.cpp.
References Game::FindInfo(), ScriptConfig::info, ScriptConfig::name, and ScriptConfig::version.