Elaztek Developer Hub
Blamite Game Engine - blam!  00310.02.05.21.0336.blamite
The core library for the Blamite Game Engine.
BlamPluginField.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
6 {
7  Ascii,
8  Int8,
9  Int16,
10  Int32,
11  Float32,
12  Bitfield8,
13  Bitfield16,
14  Bitfield32,
15  Enum8,
16  Enum16,
17  Enum32,
18  Block,
19  Color,
20  Boolean,
21 
24 
25  Vector2,
26  Vector3,
27  Vector4,
28 
29  Comment,
31 };
32 
50 {
51 public:
52  std::string display_name;
53  std::string extra_info;
54 
55  void* read_address;
57 
59 
60  BlamPluginField(BlamPluginFieldType _type, std::string _display_name, std::string _extra_info);
61 
67  virtual void ShowImPropertyControl();
68 
74  virtual void SetMemoryLocation(void* new_address);
75 
86  virtual std::string GetFieldXMLString(int offset);
87 };
BlamPluginFieldType::Bitfield16
@ Bitfield16
BlamPluginFieldType::Enum8
@ Enum8
BlamPluginFieldType::Bitfield32
@ Bitfield32
BlamPluginFieldType::Float32
@ Float32
BlamPluginField::read_length
int read_length
How many bytes to read from the start of the address.
Definition: BlamPluginField.h:56
BlamPluginFieldType::Enum16
@ Enum16
BlamPluginFieldType::Color
@ Color
BlamPluginFieldType::Unspecified
@ Unspecified
BlamPluginFieldType::Int8
@ Int8
BlamPluginFieldType::Block
@ Block
BlamPluginFieldType::Bitfield8
@ Bitfield8
BlamPluginFieldType::DataReference
@ DataReference
BlamPluginField::type
BlamPluginFieldType type
The type of the field.
Definition: BlamPluginField.h:58
BlamPluginField::display_name
std::string display_name
The display name of the tag field.
Definition: BlamPluginField.h:52
BlamPluginField
Base class representing a plugin field.
Definition: BlamPluginField.h:49
BlamPluginFieldType::Vector4
@ Vector4
BlamPluginFieldType::Boolean
@ Boolean
BlamPluginField::ShowImPropertyControl
virtual void ShowImPropertyControl()
Shows a set of ImGUI controls representing the tag field.
Definition: BlamPluginField.cpp:14
BlamPluginField::SetMemoryLocation
virtual void SetMemoryLocation(void *new_address)
Sets the address of the data that the plugin field should display.
Definition: BlamPluginField.cpp:19
BlamPluginField::GetFieldXMLString
virtual std::string GetFieldXMLString(int offset)
Generates a string representing an XML node associated with this tag field, used for generating plugi...
Definition: BlamPluginField.cpp:24
BlamPluginFieldType::Comment
@ Comment
BlamPluginField::extra_info
std::string extra_info
Additional information to show alongside the field.
Definition: BlamPluginField.h:53
BlamPluginFieldType::TagReference
@ TagReference
BlamPluginFieldType::Int16
@ Int16
BlamPluginField::BlamPluginField
BlamPluginField(BlamPluginFieldType _type, std::string _display_name, std::string _extra_info)
Definition: BlamPluginField.cpp:7
BlamPluginField::read_address
void * read_address
The address of the data the field is currently representing.
Definition: BlamPluginField.h:55
BlamPluginFieldType::Ascii
@ Ascii
BlamPluginFieldType::Enum32
@ Enum32
BlamPluginFieldType
BlamPluginFieldType
Definition: BlamPluginField.h:5
BlamPluginFieldType::Vector3
@ Vector3
BlamPluginFieldType::Vector2
@ Vector2
BlamPluginFieldType::Int32
@ Int32