 |
Blamite Game Engine - Strings
00386.06.16.23.0646.blamite
A library containing general purpose utilities and classes for use in multiple projects.
|
Go to the documentation of this file.
10 #ifdef STRINGS_EXPORTS
11 #define STRINGS_API __declspec(dllexport)
13 #define STRINGS_API __declspec(dllimport)
21 #define EDITOR_CONFIG_DEFAULT_NAME "editor_common.cfg"
23 #define CONFIG_DUMMY_SECTION_NAME "#___default"
45 std::string filename =
"";
46 std::string comment_delimeter =
"";
49 std::string value =
"";
50 bool value_bool =
false;
51 float value_float = 0.0f;
57 std::string
id =
"unspecified";
89 std::string* AsString();
128 std::string ConvertRawValueToString();
133 void UpdateValue(std::string new_value);
138 std::string* GetRawValue();
155 std::string GetDisplayNameString();
172 std::string GetDescriptionString();
186 std::string CreateConfigFileLine();
198 std::map<std::string, std::string> GetEnumeratorOptions();
210 std::string filename;
213 std::map<std::string, BlamConfigurationSetting*>
settings;
251 bool HasOption(std::string option);
261 std::string* GetString(std::string option);
271 bool* GetBool(std::string option);
281 float* GetFloat(std::string option);
291 int* GetInt(std::string option);
318 std::string GetDisplayNameString();
323 void RestoreDefaultSettings();
334 void ClearSections();
337 std::map<std::string, BlamConfigurationSection*>
sections;
339 std::string filename =
"";
340 std::string defaults_filename =
"";
341 std::string comment_delimeter =
"";
363 BlamResult LoadDefaults(std::string _filename);
414 bool HasConfigurationSection(std::string section_name);
438 std::string GetDisplayNameString();
443 void RestoreDefaultSettings();
454 std::string* GetString(std::string section_name, std::string option);
465 bool* GetBool(std::string section_name, std::string option);
476 float* GetFloat(std::string section_name, std::string option);
487 int* GetInt(std::string section_name, std::string option);
498 BlamColor* GetColor(std::string section_name, std::string option);
506 namespace Settings::Config
BlamColor * AsColor()
Retrieves the setting value as a color.
Definition: BlamConfigurationSetting.cpp:241
void RestoreDefaultSettings()
Restores all settings to their default values.
Definition: BlamConfigurationSection.cpp:250
bool HasConfigurationSection(std::string section_name)
Checks whether or not a given configuration section exists in the file.
Definition: BlamConfigurationFile.cpp:387
STRINGS_API std::vector< std::string > Split(std::string string, std::string splitter)
Splits a string around any instance of a substring.
Definition: string.cpp:114
bool HasOption(std::string option)
Checks whether or not a given configuration setting exists in this section.
Definition: BlamConfigurationSection.cpp:79
Structure representing a configuration section.
Definition: config.h:207
STRINGS_API BlamResult LoadConfiguration(std::string filename, std::string comment_delimeter, OUT BlamConfigurationFile **file)
Loads a new configuration file from disk.
Definition: config.cpp:6
std::string name
The name of this configuration section.
Definition: config.h:215
@ Comment
Used to indicate a comment within the file.
std::map< std::string, BlamConfigurationSetting * > settings
The list of configuration settings within this section.
Definition: config.h:213
bool * GetBool(std::string section_name, std::string option)
Retrieves a configuration setting as a bool.
Definition: BlamConfigurationFile.cpp:457
byte b
The Blue value of the color.
Definition: BlamColor.h:27
Namespace for Blamite's shared C++ library.
Definition: events.h:172
int * GetInt(std::string option)
Retrieves a configuration setting as an int.
Definition: BlamConfigurationSection.cpp:181
float * AsFloat()
Retrieves the setting value as a float.
Definition: BlamConfigurationSetting.cpp:215
@ Boolean
Indicates the setting stores a bool.
std::string GetDescriptionString()
Generates a description for the configuration setting for use in a user-friendly settings dialog.
Definition: BlamConfigurationSetting.cpp:325
#define STRINGS_API
Definition: config.h:13
@ Color
Indicates the setting stores a color.
BlamColor * GetColor(std::string section_name, std::string option)
Retrieves a configuration setting as a color.
Definition: BlamConfigurationFile.cpp:493
Class representing a configuration setting.
Definition: config.h:42
STRINGS_API void LogEvent(BlamBasicLogMessage message)
Logs an event to the logger.
Definition: logger.cpp:27
void AddNewSection(BlamConfigurationSection *section)
Adds a new configuration section to the file.
Definition: BlamConfigurationFile.cpp:371
void RestoreDefaultSettings()
Resets all configuration values to default.
Definition: BlamConfigurationFile.cpp:430
std::string GetDisplayNameString()
Generates a display name for the configuration setting for use in a user-friendly settings dialog.
Definition: BlamConfigurationSetting.cpp:310
BlamResult Load()
Loads the configuration file from disk.
Definition: BlamConfigurationFile.cpp:39
std::map< std::string, BlamConfigurationSetting * > default_settings
The list of default settings within this section.
Definition: config.h:214
BlamConfigurationSection(std::string _name, std::string _filename)
Prepares a new configuration section.
Definition: BlamConfigurationSection.cpp:9
std::string * AsString()
Retrieves the setting value as a string.
Definition: BlamConfigurationSetting.cpp:192
std::map< std::string, BlamConfigurationSection * > sections
The list of configuration sections contained within the file.
Definition: config.h:337
void Save()
Saves the configuration file back to disk.
Definition: BlamConfigurationFile.cpp:249
STRINGS_API bool StringExists(std::string id)
Looks through the list of loaded engine strings to see if a given string has been loaded.
Definition: strings.cpp:245
@ Error_FileNotFound
Definition: errors.h:13
void ParseValue()
Parses the raw setting value depending on the setting type.
Definition: BlamConfigurationSetting.cpp:13
BlamResult
Enumerator containing any and all result codes used throughout the engine.
Definition: errors.h:9
STRINGS_API std::string ToLower(std::string string)
Transforms a string to all-lowercase.
Definition: string.cpp:76
BlamConfigurationSettingType type
The type of setting that's being stored.
Definition: config.h:58
std::string ConvertRawValueToString()
Converts the raw setting value to a string, with no placeholders expanded.
Definition: BlamConfigurationSetting.cpp:254
@ Success_OK
Definition: errors.h:11
BlamConfigurationSetting * Copy()
Creates a new copy of this setting.
Definition: BlamConfigurationSetting.cpp:340
STRINGS_API bool CreateNewFile(std::string filename, std::string file_contents)
Creates a file with the specified contents, or overwrites an existing file if it already exists.
Definition: io.cpp:76
~BlamConfigurationSection()
Destructor.
Definition: BlamConfigurationSection.cpp:16
BlamColor * GetColor(std::string option)
Retrieves a configuration setting as a color.
Definition: BlamConfigurationSection.cpp:208
int * AsInt()
Retrieves the setting value as an int.
Definition: BlamConfigurationSetting.cpp:228
std::string GetDisplayNameString()
Generates a display name for the configuration file for use in a user-friendly settings dialog.
Definition: BlamConfigurationFile.cpp:415
std::string * GetRawValue()
Retrieves the raw value of the setting, with no placeholders expanded.
Definition: BlamConfigurationSetting.cpp:305
bool * GetBool(std::string option)
Retrieves a configuration setting as a bool.
Definition: BlamConfigurationSection.cpp:127
STRINGS_API std::string GetEngineDataRoot()
Retrieves the root folder for all game engine and editing kit user data files.
Definition: io.cpp:371
bool IsLoaded()
Whether or not this configuration file has been loaded.
Definition: BlamConfigurationFile.cpp:366
float * GetFloat(std::string option)
Retrieves a configuration setting as a float.
Definition: BlamConfigurationSection.cpp:154
STRINGS_API std::string Replace(std::string orig, std::string to_replace, std::string replace_with)
Replaces part of a string with another string.
Definition: string.cpp:94
std::string * GetString(std::string section_name, std::string option)
Retrieves a configuration setting as a string.
Definition: BlamConfigurationFile.cpp:445
byte a
The Alpha value of the color.
Definition: BlamColor.h:28
void UpdateValue(std::string new_value)
Updates the configuration setting with a new value.
Definition: BlamConfigurationSetting.cpp:299
int * GetInt(std::string section_name, std::string option)
Retrieves a configuration setting as an int.
Definition: BlamConfigurationFile.cpp:481
#define CONFIG_DUMMY_SECTION_NAME
Definition: config.h:23
BlamConfigurationSetting(std::string line, int _line_number, std::string _comment_delimeter, std::string _filename)
Prepares a new configuration setting.
Definition: BlamConfigurationSetting.cpp:110
STRINGS_INTERNAL void NotifyConfigurationReload(std::string filename)
Definition: hooks.cpp:23
@ Error
Indicates an error that could cause engine instability.
void AddNewDefaultSetting(BlamConfigurationSetting *new_setting)
Adds a new default configuration setting to the section.
Definition: BlamConfigurationSection.cpp:66
STRINGS_API std::string GetFileName(std::string path)
Retrieves the name of the file or folder that a given path refers to.
Definition: io.cpp:287
bool * AsBool()
Retrieves the setting value as a bool.
Definition: BlamConfigurationSetting.cpp:202
void AddNewSetting(BlamConfigurationSetting *new_setting)
Adds a new configuration setting to the section.
Definition: BlamConfigurationSection.cpp:38
STRINGS_API std::string GetFileContentsAsString(std::string path)
Reads a file as a string.
Definition: io.cpp:138
@ None
Indicates no severity, and is displayed with no formatting.
@ Invalid
Indicates the setting type was invalid.
STRINGS_API bool IsFile(std::string path)
Checks if a given path refers to a regular file.
Definition: io.cpp:42
std::string filename
The file path of the configuration file.
Definition: config.h:339
BlamResult LoadDefaults(std::string _filename)
Load the list of default sections.
Definition: BlamConfigurationFile.cpp:139
BlamConfigurationSection * GetConfigurationSection(std::string section_name)
Retrieves a configuration section from the configuration file.
Definition: BlamConfigurationFile.cpp:399
STRINGS_API bool FileExists(std::string name)
Checks if the specified file or directory exists.
Definition: io.cpp:26
BlamConfigurationFile(std::string _filename, std::string _comment_delimeter)
Prepares a new configuration file to be loaded.
Definition: BlamConfigurationFile.cpp:13
@ String
Indicates the setting stores a string.
#define BR_SUCCEEDED(result)
Macro to check if a BlamResult indicates a successful operation.
Definition: errors.h:4
std::string GetDisplayNameString()
Generates a display name for the configuration section for use in a user-friendly settings dialog.
Definition: BlamConfigurationSection.cpp:235
std::string defaults_filename
The file path of the configuration file used to store default settings.
Definition: config.h:340
std::basic_string< CharT, Traits, Allocator > to_string(uuid const &id)
Definition: uuid.h:581
~BlamConfigurationFile()
Destructor.
Definition: BlamConfigurationFile.cpp:20
@ Float
Indicates the setting stores a float.
bool IsValid()
Whether or not the provided file line was able to be interpreted as a valid setting.
Definition: BlamConfigurationSetting.cpp:187
std::string ToString()
Converts the color value to a string.
Definition: BlamColor.cpp:49
byte g
The Green value of the color.
Definition: BlamColor.h:26
std::string CreateConfigFileLine()
Generates a string containing the setting as a config line, ready to be written to a config file.
Definition: BlamConfigurationSetting.cpp:346
std::string id
The name of the setting.
Definition: config.h:57
bool FromString(std::string string)
Attempts to set color information from a string.
Definition: BlamColor.cpp:110
STRINGS_API std::string LookupString(std::string id)
Finds a string with a given ID.
Definition: strings.cpp:207
@ Error_FileInvalid
Definition: errors.h:15
float * GetFloat(std::string section_name, std::string option)
Retrieves a configuration setting as a float.
Definition: BlamConfigurationFile.cpp:469
Class representing a color.
Definition: BlamColor.h:19
byte r
The Red value of the color.
Definition: BlamColor.h:25
@ Int
Indicates the setting stores an integer.
STRINGS_API bool ContainsChar(std::string string, char contains)
Determines whether or not a string contains the specified character.
Definition: string.cpp:143
std::map< std::string, std::string > GetEnumeratorOptions()
Generates a list of enumerator options for the setting.
Definition: BlamConfigurationSetting.cpp:395
std::string * GetString(std::string option)
Retrieves a configuration setting as a string.
Definition: BlamConfigurationSection.cpp:100
@ Warning
Indicates a warning message. Not something critical, but something that could cause unexpected behavi...
BlamResult Reload()
Cleans up old data and reloads the configuration file from disk.
Definition: BlamConfigurationFile.cpp:233
std::string comment_delimeter
The character or string used to indicate a comment within the file.
Definition: config.h:341
BlamConfigurationSettingType
Enumerator defining all possible configuration setting types.
Definition: config.h:28