Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00386.06.16.23.0646.blamite
The tag editor for the Blamite Game Engine.
dataref.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../fields.h"
4 
5 #ifdef GUERILLA_LIB_EXPORTS
6 #define GUERILLA_LIB_API __declspec(dllexport)
7 #else
8 #define GUERILLA_LIB_API __declspec(dllimport)
9 #endif
10 
18 {
19 public:
21 
22  std::string GenerateCppStructString(std::string line_prefix = "") override;
23  std::string GenerateCppClassString(std::string line_prefix = "") override;
24  BlamTagField* GenerateTagField(BlamTag* tag, void* address) override;
25  BlamTagField* GenerateTagField(BlamTag* tag) override;
26 };
27 
35 {
36 public:
37  void* data_address = nullptr;
38  int data_size = 0;
39 
46 
47  std::string GenerateXMLString() override;
48  std::vector<char> GetValueAsBytes() override;
49 
55  std::vector<char> GetReferencedDataAsBytes();
56 };
BlamTagField
Class representing a tag field.
Definition: fields.h:202
GUERILLA_LIB_API
#define GUERILLA_LIB_API
Definition: dataref.h:8
BlamPluginField::GenerateTagField
virtual BlamTagField * GenerateTagField(BlamTag *tag)
Generates a new tag field from this plugin field.
Definition: BlamPluginField.cpp:40
BlamTagField_Dataref::BlamTagField_Dataref
BlamTagField_Dataref(BlamTag *_tag)
Constructs a new dataref tag field.
Definition: BlamTagField_Dataref.cpp:8
BlamTagField_Dataref::GetReferencedDataAsBytes
std::vector< char > GetReferencedDataAsBytes()
Compiles the referenced data into a list of bytes.
Definition: BlamTagField_Dataref.cpp:46
BlamTagField::field_id
std::string field_id
The ID of this field.
Definition: fields.h:213
BlamTagFieldType::Dataref
@ Dataref
Indicates that the field is a data reference.
BlamTagFieldType
BlamTagFieldType
Enumerator containing all possible tag field types.
Definition: fields.h:24
BlamPluginField_Dataref::GenerateCppStructString
std::string GenerateCppStructString(std::string line_prefix="") override
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField_Dataref.cpp:8
dataref.h
BlamTagField::GenerateXMLString
virtual std::string GenerateXMLString()
Generates a string with the field ID and value, ready to be written to an XML file.
Definition: BlamTagField.cpp:9
BlamPluginField::display_name
std::string display_name
The display name of the field.
Definition: fields.h:70
BlamPluginField
Class representing a plugin field.
Definition: fields.h:60
BlamTagField_Dataref
Class representing a dataref tag field.
Definition: dataref.h:34
BlamTag
Class representing a Tag.
Definition: tags.h:232
BlamPluginField_Dataref
Class representing a dataref plugin field.
Definition: dataref.h:17
BlamPluginField::GenerateCppStructString
virtual std::string GenerateCppStructString(std::string line_prefix="")
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField.cpp:74
BlamTagField_Dataref::data_size
int data_size
The size of the referenced data.
Definition: dataref.h:38
BlamPluginField::field_id
std::string field_id
The ID of the field.
Definition: fields.h:72
BlamPluginField_Dataref::BlamPluginField_Dataref
BlamPluginField_Dataref(BlamPluginField *base_field)
Definition: BlamPluginField_Dataref.cpp:3
BlamTagField_Dataref::data_address
void * data_address
The address of the referenced data.
Definition: dataref.h:37
BlamTagField::plugin_field
BlamPluginField * plugin_field
The plugin data associated with this field, if any.
Definition: fields.h:212
BlamPluginField_Dataref::GenerateTagField
BlamTagField * GenerateTagField(BlamTag *tag, void *address) override
Generates a new tag field from this plugin field.
Definition: BlamPluginField_Dataref.cpp:18
BlamPluginField::description
std::string description
An optional description of the field.
Definition: fields.h:71
BlamTagField_Dataref::GenerateXMLString
std::string GenerateXMLString() override
Generates a string with the field ID and value, ready to be written to an XML file.
Definition: BlamTagField_Dataref.cpp:13
BlamPluginField::GenerateCppClassString
virtual std::string GenerateCppClassString(std::string line_prefix="")
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField.cpp:79
BlamTagField_Dataref::GetValueAsBytes
std::vector< char > GetValueAsBytes() override
Retrieves the field value as a list of bytes.
Definition: BlamTagField_Dataref.cpp:28
BlamTagField::GetValueAsBytes
virtual std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition: BlamTagField.cpp:14
BlamPluginField_Dataref::GenerateCppClassString
std::string GenerateCppClassString(std::string line_prefix="") override
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField_Dataref.cpp:13