Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00432.02.10.25.1019.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 
22 {
23 public:
25 
26  std::string GenerateCppStructString(std::string line_prefix = "", bool generate_doxygen_comments = true) override;
27  std::string GenerateCppClassString(std::string line_prefix = "") override;
28  BlamTagField* GenerateTagField(BlamTag* tag, void* address) override;
29  BlamTagField* GenerateTagField(BlamTag* tag) override;
30  BlamPluginField* Copy(BlamPlugin* new_plugin) override;
31 };
32 
39 {
40 private:
41 
42 public:
43  int referenced_offset = 0;
44  std::string field_location_address = "";
45 
52 
53  std::string GenerateXMLString();
54  std::vector<char> GetValueAsBytes();
55 };
BlamTagField
Class representing a tag field.
Definition: fields.h:244
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:256
BlamTagField_Fieldref::referenced_offset
int referenced_offset
Definition: fieldref.h:43
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:299
BlamTag::GetFieldFromAddress
BlamTagField * GetFieldFromAddress(std::string address)
Looks up a field from its address.
Definition: BlamTag.cpp:857
BlamPluginField_Fieldref::Copy
BlamPluginField * Copy(BlamPlugin *new_plugin) override
Creates a copy of this plugin field.
Definition: BlamPluginField_Fieldref.cpp:54
fieldref.h
BlamPluginField::Copy
virtual BlamPluginField * Copy(BlamPlugin *new_plugin)
Creates a copy of this plugin field.
Definition: BlamPluginField.cpp:229
BlamTagField_Fieldref::GetValueAsBytes
std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition: BlamTagField_Fieldref.cpp:15
BlamPlugin
Class representing a Plugin.
Definition: tags.h:80
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:21
BlamTagField::plugin_field
BlamPluginField * plugin_field
The plugin data associated with this field, if any.
Definition: fields.h:255
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:38
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:44
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:253