OpenTTD Source
20240919-master-gdf0233f4c2
|
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"
77 void Change(std::optional<const std::string>
name,
int version = -1,
bool force_exact_match =
false);
142 const std::string &
GetName()
const;
169 void SetToLoadData(ScriptInstance::ScriptData *data);
170 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.
Owner
Enum for all companies/owners.
virtual ~ScriptConfig()
Delete an Script configuration.
std::map< std::string, int > SettingValueList
List with name=>value pairs of all script-specific settings.
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.
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.
bool complete_labels
True if all values have a label.
int max_value
The maximal value this configuration setting can have.
@ 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.
@ 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 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.
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...
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.