OpenTTD
Public Member Functions | Static Public Member Functions | Protected Member Functions
AIConfig Class Reference
Inheritance diagram for AIConfig:
ScriptConfig

Public Member Functions

 AIConfig (const AIConfig *config)
 
class AIInfoGetInfo () const
 
int GetSetting (const char *name) const
 Get the value of a setting for this config. More...
 
void SetSetting (const char *name, int value)
 Set the value of a setting for this config.
 
bool ResetInfo (bool force_exact_match)
 When ever the AI 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. More...
 
void Change (const char *name, int version=-1, bool force_exact_match=false, bool is_random=false)
 Set another Script to be loaded in this slot. More...
 
class ScriptInfoGetInfo () const
 Get the ScriptInfo linked to this ScriptConfig.
 
const ScriptConfigItemListGetConfigList ()
 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...
 
void ResetSettings ()
 Reset all 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 char * GetName () const
 Get the name of the Script.
 
int GetVersion () const
 Get the version of the Script.
 
void StringToSettings (const char *value)
 Convert a string which is stored in the config file or savegames to custom settings of this Script.
 
void SettingsToString (char *string, const char *last) const
 Convert the custom settings to a string that can be stored in the config file or savegames.
 
const char * GetTextfile (TextfileType type, CompanyID slot) const
 Search a textfile file next to this script. More...
 

Static Public Member Functions

static AIConfigGetConfig (CompanyID company, ScriptSettingSource source=SSS_DEFAULT)
 Get the config of a company.
 

Protected Member Functions

void PushExtraConfigList ()
 In case you have mandatory non-Script-definable config entries in your list, add them to this function.
 
void ClearConfigList ()
 Routine that clears the config list.
 
ScriptInfoFindInfo (const char *name, int version, bool force_exact_match)
 This function should call back to the Scanner in charge of this Config, to find the ScriptInfo belonging to a name+version.
 

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< const char *, int, StringCompareSettingValueList
 List with name=>value pairs of all script-specific settings.
 
- Protected Attributes inherited from ScriptConfig
const char * name
 Name of the Script.
 
int version
 Version of the Script.
 
class ScriptInfoinfo
 ScriptInfo object for related to this Script version.
 
SettingValueList settings
 List with all setting=>value pairs that are configure for this Script.
 
ScriptConfigItemListconfig_list
 List with all settings defined by this Script.
 
bool is_random
 True if the AI in this slot was randomly chosen.
 

Detailed Description

Definition at line 18 of file ai_config.hpp.

Member Function Documentation

◆ GetSetting()

int AIConfig::GetSetting ( const char *  name) const
virtual

Get the value of a setting for this config.

It might fallback to his 'info' to find the default value (if not set or if not-custom difficulty level).

Returns
The (default) value of the setting, or -1 if the setting was not found.

Reimplemented from ScriptConfig.

Definition at line 82 of file ai_config.cpp.

References ScriptConfig::info, and ScriptConfig::settings.

Referenced by ClearConfigList(), AIInstance::GetSetting(), and AI::GetStartNextTime().

◆ ResetInfo()

bool AIConfig::ResetInfo ( bool  force_exact_match)

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

This function tells AIConfig about this.

Parameters
force_exact_matchIf 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 AI was no longer found.

Definition at line 60 of file ai_config.cpp.

References AI::FindInfo(), ScriptConfig::info, ScriptConfig::name, and ScriptConfig::version.

Referenced by AI::ResetConfig().


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