 |
Blamite Game Engine - blam!
00263.10.17.20.0001.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
10 #include "components/3rdparty/imgui/imgui.h"
49 for (
int i = 0; i <
fields.size(); i++)
51 fields.at(i)->ShowImPropertyControl();
64 void* next_address = address;
66 for (
int i = 0; i <
fields.size(); i++)
68 fields[i]->SetMemoryLocation(next_address);
70 next_address = (
char*)next_address +
fields[i]->read_length;
79 std::string plugin_xml_content =
"<?xml version=\"1.0\" encoding=\"utf-8\"?>";
85 plugin_xml_content +=
"<!-- Automatically generated plugin -->";
87 plugin_xml_content +=
"<revisions>";
89 plugin_xml_content +=
"<revision author=\"Blamite Game Engine\" version=\"1\">Generated plugin at runtime through usage of -autogenplugins flag</revision>";
90 plugin_xml_content +=
"</revisions>";
92 for (
int i = 0; i <
fields.size(); i++)
94 plugin_xml_content +=
fields.at(i)->GetFieldXMLString(field_offset);
95 field_offset +=
fields.at(i)->read_length;
98 plugin_xml_content +=
"</plugin>";
Namespace containing things related to tag data.
Definition: bitmap.h:9
BLAM void RegisterTagClass(TagClass *data)
Registers a new tag class within the engine.
Definition: tagclass.cpp:67
BLAM void LoadDefaultClasses()
Loads all built-in tag classes available to the engine.
Definition: tagclass.cpp:106
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tagclass.h:33
BLAM ConfigFile * GetConfig(std::string filename)
Retrieves the specified configuration file.
Definition: config.cpp:227
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tagclass.h:34
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:38
void ShowImPropertyEditor()
Shows a series of ImGUI controls used to modify tag data with a simple UI.
Definition: tagclass.h:47
const BLAM char * GetVersion()
Retrieves the version of the engine in the following format:
Definition: engine_definitions.cpp:108
void GeneratePluginFile()
Generates a plugin file from the given tag.
Definition: tagclass.h:77
Legacy namespace for tag class data.
Definition: tagclass.h:143
BLAM void GenerateAllPlugins(bool require_switch)
Instructs the engine to generate Assembly/Guerilla plugins at startup.
Definition: tagclass.cpp:77
void * tag_address
The memory address of a tag. Used when a tag class is used in the context of a tag.
Definition: tagclass.h:40
BLAM void scenario_structure_bsp()
Legacy function made before I had any idea what I was doing.
Definition: tagclass.cpp:19
BLAM TagClass * GetTagClass(std::string id)
Retrieves a tag class that matches the given string.
Definition: tagclass.cpp:54
Class representing a tag class.
Definition: tagclass.h:30
#define BLAM
Definition: discord_rpc.h:8
void SetMemoryLocation(void *address)
Sets the address and size of the tag that this class should be applied to.
Definition: tagclass.h:60
BLAM std::vector< TagClass * > * GetRegisteredTagClasses()
Retrieves the list of all registered tag classes.
Definition: tagclass.cpp:72
BLAM int CreateNewFile(std::string filename, std::string file_contents)
Creates a file with the specified contents.
Definition: io.cpp:28
std::vector< TagField * > fields
A series of tag fields that store the layout of the tag.
Definition: tagclass.h:36