Elaztek Developer Hub
Switch Project...
blam!
Editing Kit
Guerilla
Sapien
Tool
Foundry
Libraries
Keystone
Strings
Forums
Discord
Doxygen
Jenkins
Guides
Gitlab
Blamite Game Engine - Guerilla (Library)
00378.04.17.23.1319.blamite
The tag editor for the Blamite Game Engine.
block.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <vector>
4
#include <string>
5
6
#include "../fields.h"
7
8
#ifdef GUERILLA_LIB_EXPORTS
9
#define GUERILLA_LIB_API __declspec(dllexport)
10
#else
11
#define GUERILLA_LIB_API __declspec(dllimport)
12
#endif
13
17
class
GUERILLA_LIB_API
BlamTagBlockEntry
18
{
19
public
:
20
std::string
name
;
21
std::vector<BlamTagField*>
fields
;
22
23
~
BlamTagBlockEntry
();
24
25
BlamTagField
* GetField(std::string field_id);
26
27
BlamTagField
* GetField(std::string field_id,
BlamTagFieldType
field_type);
28
29
BlamTagBlockEntry
* Copy();
30
};
31
41
class
GUERILLA_LIB_API
BlamPluginField_Block
:
public
BlamPluginField
42
{
43
public
:
44
int
entry_size = 0;
45
std::vector<BlamPluginField*>
fields
;
46
47
int
c_entry_count = 0;
48
int
c_entry_offset = 0;
49
55
BlamPluginField_Block
(
BlamPluginField
* base_field);
56
57
~
BlamPluginField_Block
();
58
59
BlamPluginField
* GetField(std::string
id
);
60
61
BlamPluginField
* GetField(std::string
id
,
BlamTagFieldType
type);
62
};
63
73
class
GUERILLA_LIB_API
BlamTagField_Block
:
public
BlamTagField
74
{
75
public
:
76
std::vector<BlamTagBlockEntry*>
entries
;
77
83
BlamTagField_Block
(
BlamTag
* _tag);
84
85
bool
AddEntry(
int
offset = -1);
86
bool
DuplicateEntry(
int
index);
87
bool
DeleteEntry(
int
index);
88
void
DeleteAllEntries();
89
90
BlamTagBlockEntry
* CreateNewEntry();
91
92
std::string
GenerateXMLString
();
93
std::string
GenerateXMLString
(
bool
keep_unused,
bool
keep_invalid);
94
std::vector<char>
GetValueAsBytes
();
95
101
std::vector<char> GetEntryDataAsBytes();
102
};
BlamTagField
Class representing a tag field.
Definition:
fields.h:226
BlamTagField_Block::entries
std::vector< BlamTagBlockEntry * > entries
The list of entries within this block.
Definition:
block.h:76
BlamTagBlockEntry
Data structure representing a tag block entry.
Definition:
block.h:17
BlamTagFieldType
BlamTagFieldType
Enumerator containing all possible tag field types.
Definition:
fields.h:103
BlamPluginField_Block
Class representing a block plugin field.
Definition:
block.h:41
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
BlamTagField_Block
Class representing a block tag field.
Definition:
block.h:73
BlamPluginField
Class representing a plugin field.
Definition:
fields.h:139
BlamTag
Class representing a Tag.
Definition:
tags.h:152
GUERILLA_LIB_API
#define GUERILLA_LIB_API
Definition:
block.h:11
BlamTagBlockEntry::fields
std::vector< BlamTagField * > fields
The list of fields within the entry.
Definition:
block.h:21
BlamPluginField_Block::fields
std::vector< BlamPluginField * > fields
The list of fields within the tag block.
Definition:
block.h:45
BlamTagBlockEntry::name
std::string name
The name of the entry.
Definition:
block.h:20
BlamTagField::GetValueAsBytes
virtual std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition:
BlamTagField.cpp:14
HEKGuerilla
components
tags
fields
block
block.h
Generated on Mon Apr 17 2023 13:46:27 for Blamite Game Engine - Guerilla (Library) by
1.8.17