|
OpenTTD Source
14.0-beta1
|
Go to the documentation of this file.
10 #ifndef SCRIPT_CONFIG_HPP
11 #define SCRIPT_CONFIG_HPP
13 #include "../company_type.h"
14 #include "../textfile_gui.h"
155 const std::string &
GetName()
const;
182 void SetToLoadData(ScriptInstance::ScriptData *data);
183 ScriptInstance::ScriptData *GetToLoadData();
std::unique_ptr< ScriptConfigItemList > config_list
List with all settings defined by this Script.
static const int INT32_DIGITS_WITH_SIGN_AND_TERMINATION
Maximum of 10 digits for MIN / MAX_INT32, 1 for the sign and 1 for '\0'.
int step_size
The step size in the gui.
ScriptConfigFlags
Bitmask of flags for Script settings.
std::string name
The name of the configuration setting.
std::vector< ScriptConfigItem > ScriptConfigItemList
List of ScriptConfig items.
virtual ~ScriptConfig()
Delete an Script configuration.
std::map< std::string, int > SettingValueList
List with name=>value pairs of all script-specific settings.
Owner
Enum for all companies/owners.
void ResetEditableSettings(bool yet_to_start)
Reset only editable and visible settings to their default value.
@ SCRIPTCONFIG_BOOLEAN
This value is a boolean (either 0 (false) or 1 (true) ).
int min_value
The minimal value this configuration setting can have.
bool complete_labels
True if all values have a label.
int max_value
The maximal value this configuration setting can have.
void AddRandomDeviation()
Randomize all settings the Script requested to be randomized.
@ SSS_DEFAULT
Get the Script config from the current game mode.
class ScriptInfo * GetInfo() const
Get the ScriptInfo linked to this ScriptConfig.
@ SCRIPTCONFIG_NONE
No flags set.
bool IsRandom() const
Is the current Script a randomly chosen Script?
@ SCRIPTCONFIG_INGAME
This setting can be changed while the Script is running.
@ SCRIPTCONFIG_DEVELOPER
This setting will only be visible when the Script development tools are active.
int version
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.
int GetVersion() const
Get the version of the Script.
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.
void ResetSettings()
Reset all settings to their default value.
std::unique_ptr< ScriptInstance::ScriptData > to_load_data
Data to load after the Script start.
class ScriptInfo * info
ScriptInfo object for related to this Script version.
void AnchorUnchangeableSettings()
As long as the default of a setting has not been changed, the value of the setting is not stored.
std::string SettingsToString() const
Convert the custom settings to a string that can be stored in the config file or savegames.
@ SSS_FORCE_NEWGAME
Get the newgame Script config.
int GetSetting(const std::string &name) const
Get the value of a setting for this config.
std::string name
Name of the Script.
int default_value
The default value of this configuration setting.
std::optional< std::string > GetTextfile(TextfileType type, CompanyID slot) const
Search a textfile file next to this script.
std::string description
The description of the configuration setting.
ScriptConfigFlags flags
Flags for the configuration setting.
void ClearConfigList()
Routine that clears the config list.
const ScriptConfigItemList * GetConfigList()
Get the config list for this ScriptConfig.
TextfileType
Additional text files accompanying Tar archives.
LabelMapping labels
Text labels for the integer values.
All static information from an Script like name, version, etc.
Info about a single Script setting.
std::map< int, std::string > LabelMapping
Map-type used to map the setting numbers to labels.
@ SSS_FORCE_GAME
Get the Script config from the current game.
int random_deviation
The maximum random deviation from the default value.
void SetSetting(const std::string_view name, int value)
Set the value of a setting for this config.
virtual ScriptInfo * FindInfo(const std::string &name, int version, bool force_exact_match)=0
This function should call back to the Scanner in charge of this Config, to find the ScriptInfo belong...
bool HasScript() const
Is this config attached to an Script? In other words, is there a Script that is assigned to this slot...
bool is_random
True if the AI in this slot was randomly chosen.
SettingValueList settings
List with all setting=>value pairs that are configure for this Script.
ScriptSettingSource
Where to get the config from, either default (depends on current game mode) or force either newgame o...
const std::string & GetName() const
Get the name of the Script.