OpenTTD Source: GameConfig Class Reference

OpenTTD Source 14.0-beta1

Public Member Functions | Static Public Member Functions | Protected Member Functions
GameConfig Class Reference
Inheritance diagram for GameConfig:

## 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. More...
Public Member Functions inherited from ScriptConfig
| ScriptConfig (const ScriptConfig *config)
| Create a new Script config that is a copy of an existing config. More...
virtual | ~ScriptConfig ()
| Delete an Script configuration.
void | Change (std::optional< const std::string > name, int version=-1, bool force_exact_match=false, bool is_random=false)
| Set another Script to be loaded in this slot. More...
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. More...
int | GetSetting (const std::string &name) const
| Get the value of a setting for this config. More...
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.
void | AddRandomDeviation ()
| Randomize all settings the Script requested to be randomized.
bool | HasScript () const
| Is this config attached to an Script? In other words, is there a Script that is assigned to this slot.
bool | IsRandom () const
| Is the current Script a randomly chosen Script?
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. More...
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.
bool | is_random
| True if the AI in this slot was randomly chosen.
std::unique_ptr< ScriptInstance::ScriptData > | to_load_data
| Data to load after the Script start.

## Detailed Description

Definition at line 15 of file game_config.hpp.

## Member Function Documentation

## ◆ ResetInfo()

bool GameConfig::ResetInfo | ( | bool | force_exact_match | ) |

When ever the Game Scanner is reloaded, all infos become invalid.

This function tells GameConfig about this.

Parameters

  force_exact_match | If true try to find the exact same version as specified. If false any version is ok.

Returns
  `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.

The documentation for this class was generated from the following files:

- src/game/game_config.hpp
- src/game/game_config.cpp