Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00390.07.02.23.1947.blamite
The tag editor for the Blamite Game Engine.
fields.h File Reference
#include <string>
#include <vector>
#include <blam/api/v1/types/tags.h>
#include <Strings/components/3rdparty/rapidxml/rapidxml.hpp>
+ Include dependency graph for fields.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BlamPluginField
 Class representing a plugin field. More...
 
class  BlamTagField
 Class representing a tag field. More...
 

Namespaces

 Guerilla
 
 Guerilla::Tags
 Namespace containing functions relating to tags and plugins.
 
 Guerilla::Tags::Fields
 Namespace containing functions relating to tag fields.
 

Macros

#define GUERILLA_LIB_INTERNAL
 
#define GUERILLA_LIB_API   __declspec(dllimport)
 

Enumerations

enum  BlamDatarefValueHintType {
  BlamDatarefValueHintType::ASM, BlamDatarefValueHintType::BASH, BlamDatarefValueHintType::C, BlamDatarefValueHintType::CPP,
  BlamDatarefValueHintType::CMK, BlamDatarefValueHintType::CS, BlamDatarefValueHintType::CSS, BlamDatarefValueHintType::GO,
  BlamDatarefValueHintType::HSC, BlamDatarefValueHintType::HTML, BlamDatarefValueHintType::INI, BlamDatarefValueHintType::JS,
  BlamDatarefValueHintType::JAVA, BlamDatarefValueHintType::JSON, BlamDatarefValueHintType::LUA, BlamDatarefValueHintType::MAKE,
  BlamDatarefValueHintType::PHP, BlamDatarefValueHintType::PY, BlamDatarefValueHintType::QML, BlamDatarefValueHintType::RUST,
  BlamDatarefValueHintType::SQL, BlamDatarefValueHintType::TEXT, BlamDatarefValueHintType::TS, BlamDatarefValueHintType::V,
  BlamDatarefValueHintType::VEX, BlamDatarefValueHintType::XML, BlamDatarefValueHintType::YAML, BlamDatarefValueHintType::NONE
}
 Enumerator listing all supported dataref value hint types. More...
 
enum  BlamTagFieldType {
  BlamTagFieldType::Ascii, BlamTagFieldType::StringId, BlamTagFieldType::Int8, BlamTagFieldType::Int16,
  BlamTagFieldType::Int32, BlamTagFieldType::Int64, BlamTagFieldType::Real, BlamTagFieldType::Bitfield8,
  BlamTagFieldType::Bitfield16, BlamTagFieldType::Bitfield32, BlamTagFieldType::Enum8, BlamTagFieldType::Enum16,
  BlamTagFieldType::Enum32, BlamTagFieldType::Block, BlamTagFieldType::Dataref, BlamTagFieldType::Tagref,
  BlamTagFieldType::Comment, BlamTagFieldType::Color, BlamTagFieldType::Vector2, BlamTagFieldType::Vector3,
  BlamTagFieldType::Vector4, BlamTagFieldType::Unspecified
}
 Enumerator containing all possible tag field types. More...
 

Functions

GUERILLA_LIB_API int Guerilla::Tags::Fields::GetStandardFieldLength (BlamTagFieldType type)
 Retrieves the length of a tag field. More...
 
GUERILLA_LIB_API BlamTagFieldType Guerilla::Tags::Fields::DetermineFieldType (std::string node_name)
 Determines the field type from a string, used to determine the field type when parsing XML tags and plugins. More...
 
GUERILLA_LIB_API std::string Guerilla::Tags::Fields::GetFieldTypeName (BlamTagFieldType type)
 Generates a string name based on the provided tag field type. More...
 
GUERILLA_LIB_API BlamPluginFieldGuerilla::Tags::Fields::ConfigurePluginField (BlamPluginField *field, BlamTagFieldType field_type, bool *configured=nullptr)
 Configures a specialized plugin field based on a base plugin field, and the desired type. More...
 
GUERILLA_LIB_API std::string Guerilla::Tags::Fields::GetDatarefValueHintString (BlamDatarefValueHintType value_hint)
 Generates a string from a given dataref value hint type. More...
 
GUERILLA_LIB_API BlamDatarefValueHintType Guerilla::Tags::Fields::ParseDatarefValueHint (std::string value_hint_str)
 Determines a dataref value hint type from a string representation. More...
 
GUERILLA_LIB_API std::vector< BlamDatarefValueHintTypeGuerilla::Tags::Fields::GetDatarefValueHintTypeList ()
 

Macro Definition Documentation

◆ GUERILLA_LIB_API

#define GUERILLA_LIB_API   __declspec(dllimport)

◆ GUERILLA_LIB_INTERNAL

#define GUERILLA_LIB_INTERNAL

Enumeration Type Documentation

◆ BlamDatarefValueHintType

Enumerator listing all supported dataref value hint types.

Dataref Value Hints are used by the Editing Kit to identify the type of data being stored within the data reference. This can be used to provide more interactive editing capabilities, syntax highlighting, and so on.

Each enumerator value should not exceed 4 characters.

Enumerator
ASM 

Assembly Code.

BASH 

Bash Script.

C Code.

CPP 

C++ Code.

CMK 

CMake Script.

CS 

C# Code.

CSS 

CSS Stylesheet.

GO 

Go (Golang) Code.

HSC 

BlamScript/HaloScript Script.

HTML 

HTML Markup.

INI 

INI Configuration.

JS 

JavaScript Code.

JAVA 

Java Code.

JSON 

JSON Data.

LUA 

Lua Script.

MAKE 

Make Script.

PHP 

PHP Code.

PY 

Python Code.

QML 

QML Markup.

RUST 

Rust Code.

SQL 

SQL Statements.

TEXT 

Plain Text.

TS 

TypeScript Code.

V Code.

VEX 

Vex Code.

XML 

XML Markup.

YAML 

YAML Configuration.

NONE 

No value hint, no special treatment will be given to the data.

◆ BlamTagFieldType

enum BlamTagFieldType
strong

Enumerator containing all possible tag field types.

Enumerator
Ascii 

Indicates that the field is a string of text.

StringId 

Indicates that the field is a String ID.

Int8 

Indicates that the field is an 8-bit integer.

Int16 

Indicates that the field is a 16-bit integer.

Int32 

Indicates that the field is a 32-bit integer.

Int64 

Indicates that the field is a 32-bit integer.

Real 

Indicates that the field is a Float32.

Bitfield8 

Indicates that the field is a Bitfield8.

Bitfield16 

Indicates that the field is a Bitfield16.

Bitfield32 

Indicates that the field is a Bitfield32.

Enum8 

Indicates that the field is an Enum8.

Enum16 

Indicates that the field is an Enum16.

Enum32 

Indicates that the field is an Enum32.

Block 

Indicates that the field is a tag block.

Dataref 

Indicates that the field is a data reference.

Tagref 

Indicates that the field is a tag reference.

Comment 

Indicates that the field is a comment. These do not store any tag data.

Color 

Indicates that the field is a color.

Vector2 

Indicates that the field is a vector2.

Vector3 

Indicates that the field is a vector3.

Vector4 

Indicates that the field is a vector4.

Unspecified 

Indicates that the field's type is not specified. Fields with this type should be considered invalid.