Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00402.09.29.23.0627.blamite
The tag editor for the Blamite Game Engine.
fieldref.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include "../fields.h"
6 
7 #ifdef GUERILLA_LIB_EXPORTS
8 #define GUERILLA_LIB_API __declspec(dllexport)
9 #else
10 #define GUERILLA_LIB_API __declspec(dllimport)
11 #endif
12 
19 {
20 public:
22 
23  std::string GenerateCppStructString(std::string line_prefix = "", bool generate_doxygen_comments = true) override;
24  std::string GenerateCppClassString(std::string line_prefix = "") override;
25  BlamTagField* GenerateTagField(BlamTag* tag, void* address) override;
26  BlamTagField* GenerateTagField(BlamTag* tag) override;
27 };
28 
35 {
36 private:
37 
38 public:
39  int referenced_offset = 0;
40  std::string field_location_address = "";
41 
48 
49  std::string GenerateXMLString();
50  std::vector<char> GetValueAsBytes();
51 };
BlamTagField
Class representing a tag field.
Definition: fields.h:231
BlamTagField::GetType
BlamTagFieldType GetType()
Retrieves the type of this field.
Definition: BlamTagField.cpp:19
BlamPluginField::GenerateTagField
virtual BlamTagField * GenerateTagField(BlamTag *tag)
Generates a new tag field from this plugin field.
Definition: BlamPluginField.cpp:41
GUERILLA_LIB_API
#define GUERILLA_LIB_API
Definition: fieldref.h:10
tags.h
BlamTagField::GetTag
BlamTag * GetTag()
Retrieves the tag associated with this field.
Definition: BlamTagField.cpp:24
BlamPluginField::default_value
std::string default_value
The default text value for the field.
Definition: fields.h:86
BlamTagField::field_id
std::string field_id
The ID of this field.
Definition: fields.h:243
BlamTagField_Fieldref::referenced_offset
int referenced_offset
Definition: fieldref.h:39
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:81
BlamPluginField
Class representing a plugin field.
Definition: fields.h:71
BlamTag
Class representing a Tag.
Definition: tags.h:277
BlamTag::GetFieldFromAddress
BlamTagField * GetFieldFromAddress(std::string address)
Definition: BlamTag.cpp:790
fieldref.h
BlamTagField_Fieldref::GetValueAsBytes
std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition: BlamTagField_Fieldref.cpp:15
BlamPluginField::field_id
std::string field_id
The ID of the field.
Definition: fields.h:83
BlamPluginField_Fieldref
Class representing a fieldref plugin field.
Definition: fieldref.h:18
BlamTagField::plugin_field
BlamPluginField * plugin_field
The plugin data associated with this field, if any.
Definition: fields.h:242
BlamPluginField_Fieldref::GenerateCppStructString
std::string GenerateCppStructString(std::string line_prefix="", bool generate_doxygen_comments=true) override
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField_Fieldref.cpp:10
BlamPluginField::description
std::string description
An optional description of the field.
Definition: fields.h:82
BlamTagField_Fieldref::GenerateXMLString
std::string GenerateXMLString()
Generates a string with the field ID and value, ready to be written to an XML file.
Definition: BlamTagField_Fieldref.cpp:10
BlamTagField_Fieldref
Class representing a fieldref tag field.
Definition: fieldref.h:34
BlamPluginField_Fieldref::GenerateTagField
BlamTagField * GenerateTagField(BlamTag *tag, void *address) override
Generates a new tag field from this plugin field.
Definition: BlamPluginField_Fieldref.cpp:27
BlamTagField_Fieldref::field_location_address
std::string field_location_address
Definition: fieldref.h:40
BlamTagField_Fieldref::BlamTagField_Fieldref
BlamTagField_Fieldref(BlamTag *_tag)
Constructs a new fieldref field.
Definition: BlamTagField_Fieldref.cpp:5
BlamPluginField_Fieldref::GenerateCppClassString
std::string GenerateCppClassString(std::string line_prefix="") override
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField_Fieldref.cpp:22
BlamPluginField::GenerateCppClassString
virtual std::string GenerateCppClassString(std::string line_prefix="")
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField.cpp:101
BlamPluginField::GenerateCppStructString
virtual std::string GenerateCppStructString(std::string line_prefix="", bool generate_doxygen_comments=true)
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField.cpp:96
BlamTagField::GetValueAsBytes
virtual std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition: BlamTagField.cpp:14
BlamPluginField_Fieldref::BlamPluginField_Fieldref
BlamPluginField_Fieldref(BlamPluginField *base_field)
Definition: BlamPluginField_Fieldref.cpp:5
BlamTagField::c_file_offset
int c_file_offset
Temporary field storing the file offset of this field's data. Used only during compilation.
Definition: fields.h:240