 |
Blamite Game Engine - blam!
00388.06.24.23.2301.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
5 #include <Strings/components/diagnostics/errors/errors.h>
8 #define BLAM_EXT_API __declspec(dllexport)
10 #define BLAM_EXT_API __declspec(dllimport)
56 BLAM BlamResult
LoadTagFromFile(std::string tag_path,
bool reload_if_already_loaded =
true);
int entry_size
The size of each block entry.
Definition: tags.h:129
BLAM_EXT_API BlamWorldState * GetWorldState()
Retrieves the current world state.
Definition: world.cpp:44
BLAM std::string GetFieldName(BlamPluginFieldType type)
Generates a string representation of a plugin field type.
Definition: fields.cpp:3
BLAM BlamConfigurationFile * GetEngineConfiguration()
Definition: config.cpp:58
void AddObject(BlamWorldObject *object)
Definition: BlamWorldState.cpp:70
BLAM void TagPostprocess(BlamTagData tag_data)
Performs any required post-processing for a given tag.
Definition: tag_postprocess.cpp:27
BLAM BlamResult SaveTag(std::string tag_path)
Saves a tag data to a file.
Definition: tag_io.cpp:627
#define BLAM_EXT_API
Definition: tag_io.h:10
Namespace containing functions related to tag data.
Definition: bitmap.h:151
Definition: primitive.h:11
void * entry_data_address
The address of the blocks' entry data.
Definition: tags.h:131
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:142
void * LoadTagDataSection(int offset, int size, std::ifstream *tag_file)
Loads a tag data section from a file.
Definition: tag_io.cpp:82
std::string GetTagPath()
Retrieves the path of the tag that this tagref refers to.
Definition: tag_reference.cpp:63
@ Tags
Directory used for reading engine tags. Defaults to ./tags/
BlamTagData * active_scenario_tag_data
Definition: scenario.cpp:10
char path[256]
The tag's path.
Definition: tags.h:46
BLAM BlamResult LoadTagFromFile(std::string tag_path, bool reload_if_already_loaded=true)
Loads a tag from the engine's tag directory (default is '.
Definition: tag_io.cpp:194
int data_size
The size of tagref_address.
Definition: tags.h:190
std::vector< char > BuildTagDataSection(void *section_data, int size, int start_offset)
Prepares a tag data section for saving.
Definition: tag_io.cpp:569
BLAM_EXT_API BlamTagClass * GetTagClass(std::string id)
Retrieves a tag class that matches the given string.
Definition: tagclass.cpp:66
#define USER_DATA_PATH(path)
Macro to quickly access a user data folder.
Definition: config.h:43
#define BLAM
Definition: tag_io.h:14
BLAM_EXT_API scenario * GetActiveScenarioTag()
Retrieves the currently loaded scenario tag.
Definition: scenario.cpp:72
Definition: scenario.h:11
scenario * active_scenario_tag
Definition: scenario.cpp:9
bool SetTagPath(std::string new_path)
Updates the tag path.
Definition: BlamTagData.cpp:12
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tags.h:90
#define ENGINE_DATA_PATH(path)
Macro to quickly access a game engine data folder.
Definition: config.h:36
const BLAM char * GetVersion()
Retrieves the version of the engine in the following format:
Definition: engine_definitions.cpp:150
int entry_count
The number of entries within the tag block.
Definition: tags.h:132
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tags.h:91
Structure representing a tag reference.
Definition: tags.h:182
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tags.h:89
BLAM BlamResult LoadTagFromMemoryBlock(char *address, int size, std::string tag_path, bool reload_if_already_loaded=true)
Definition: tag_io.cpp:395
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:80
std::vector< std::string > extra_tag_search_folders
Definition: tag_io.cpp:16
BLAM void ResolveAllTagReferences()
Attempts to resolve all tag references within all loaded tags.
Definition: tags.cpp:72
BLAM std::vector< BlamTagData > * GetLoadedTags()
Retrieves the list of loaded tag data.
Definition: tags.cpp:142
void LoadSectionTagReferences(char *address, int size, std::string tag_path)
Attempts to resolve any tag references within the given tag data section.
Definition: tag_io.cpp:25
Class representing a primitive-based world object.
Definition: world_objects.h:99
bool data_is_tag
Whether or not tagref_address points to tag data, or the tag's path.
Definition: tags.h:188
BLAM_EXT_API void LoadScenarioTag(std::string tag_path)
Loads a new scenario tag.
Definition: scenario.cpp:77
void * data_address
The address of the referenced data.
Definition: tags.h:235
BLAM void LoadReferencedTags(std::string tag_path)
Attempts to resolve any tag references within a given tag.
Definition: tag_io.cpp:57
Structure representing a data reference.
Definition: tags.h:232
bool HasReference()
Checks if a tag reference has a tag specified or not.
Definition: tag_reference.cpp:87
BLAM bool TagNeedsPostprocess(BlamTagData tag_data)
Checks if a given tag requires additional post-processing.
Definition: tag_postprocess.cpp:8
BlamPluginFieldType
Enumerator listing all possible plugin field types.
Definition: BlamTagClassField.h:14
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tags.h:96
BLAM void InitializeEmptyWorldState()
Initializes a new world state with no default objects.
Definition: world.cpp:23
int data_size
The size of the referenced data.
Definition: tags.h:236
BLAM void CleanupTagData()
Releases all memory used by tags.
Definition: tags.cpp:130
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:33
TagOrigin origin
The origin of the tag.
Definition: tags.h:48
Class used to contain and access tag data.
Definition: tags.h:30
void * tagref_address
The address of the tagref data.
Definition: tags.h:187
void PrepareNewWorldState()
Prepares a new world state.
Definition: scenario.cpp:17
BLAM_EXT_API void AddExtraTagFolder(std::string tag_folder)
Adds an additional folder to search when attempting to load a tag.
Definition: tag_io.cpp:52
@ Tags
Directory storing user-created tags. Defaults to {DataRoot}/tags/.
int size
The size of the tag's data in memory.
Definition: tags.h:34
bool ResolveReference()
Attempts to resolve a tag reference.
Definition: tag_reference.cpp:25
Class representing a world state.
Definition: world_objects.h:125
Class representing a tag class.
Definition: tags.h:86
std::string tag_class
The tag's short class name.
Definition: tags.h:47