![]() |
Blamite Game Engine - blam!
00310.02.05.21.0336.blamite
The core library for the Blamite Game Engine.
|
Class representing a tag class. More...
#include <tagclass.h>
Public Member Functions | |
void | ShowImPropertyEditor () |
Shows a series of ImGUI controls used to modify tag data with a simple UI. More... | |
void | SetMemoryLocation (void *address) |
Sets the address and size of the tag that this class should be applied to. More... | |
void | GeneratePluginFile () |
Generates a plugin file from the given tag. More... | |
Public Attributes | |
std::string | class_name_long |
The longer class name. Typically shown alongside short name for user-friendliness. More... | |
std::string | class_name_short |
The short, 4-character name of the tag class. More... | |
int | version |
The tag class version. Should be incremented any time a tag class is modified whatsoever. More... | |
std::vector< BlamTagClassRevision > | revisions |
List of all tag class revisions. Does not get written to tags, but is included in plugin files. More... | |
std::vector< BlamPluginField * > | fields |
A series of tag fields that store the layout of the tag. More... | |
int | tag_size |
The size of the tag's data. Used on loading/writing tag files. More... | |
void * | tag_address |
The memory address of a tag. Used when a tag class is used in the context of a tag. More... | |
Class representing a tag class.
Tag class objects are used to store layout information for a given tag structure. When implementing a new tag class, care must be taken to ensure that the layout for the BlamTagClass object EXACTLY matches the structure in the tag structure.
Tag data is read/written directly treating the tag struct as a block of memory. If the layout doesn't exactly match, then fields will be read/written to the incorrect places and the tag will become corrupt.
void BlamTagClass::GeneratePluginFile | ( | ) |
Generates a plugin file from the given tag.
void BlamTagClass::SetMemoryLocation | ( | void * | address | ) |
Sets the address and size of the tag that this class should be applied to.
address | - The start address of the tag structure. |
void BlamTagClass::ShowImPropertyEditor | ( | ) |
Shows a series of ImGUI controls used to modify tag data with a simple UI.
std::string BlamTagClass::class_name_long |
The longer class name. Typically shown alongside short name for user-friendliness.
std::string BlamTagClass::class_name_short |
The short, 4-character name of the tag class.
std::vector<BlamPluginField*> BlamTagClass::fields |
A series of tag fields that store the layout of the tag.
std::vector<BlamTagClassRevision> BlamTagClass::revisions |
List of all tag class revisions. Does not get written to tags, but is included in plugin files.
void* BlamTagClass::tag_address |
The memory address of a tag. Used when a tag class is used in the context of a tag.
int BlamTagClass::tag_size |
The size of the tag's data. Used on loading/writing tag files.
int BlamTagClass::version |
The tag class version. Should be incremented any time a tag class is modified whatsoever.