Elaztek Developer Hub
Blamite Game Engine - blam!  00346.12.11.21.0529.blamite
The core library for the Blamite Game Engine.
cui_screen.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../tagclass.h"
4 #include "../fields.h"
5 #include "../tags.h"
6 
7 #ifndef BLAM
8 #define BLAM
9 #endif
10 
11 namespace Blam::Content::Tags
12 {
14  {
16 
17  TAG_BLOCK(templates,
18  {
19  tag_reference template_tag;
20  });
21  };
22 
23  namespace Classes
24  {
29  {
30  public:
32  {
33  class_name_long = "cui_screen";
34  class_name_short = "cusc";
35  version = 1;
36 
37  revisions = {
38  {1, "haloman30", "Initial implementation."}
39  };
40 
41  tag_size = sizeof(client_ui_screen);
42 
43  fields =
44  {
45  new TagReferenceField("String reference", "", { "unic" }),
46  new BlockField(sizeof(client_ui_screen::templates_entry), "Templates", "",
47  {
48  new TagReferenceField("Template", "", { "bitm" })
49  })
50  };
51  }
52  };
53  }
54 
55  BLAM client_ui_screen* ClientUIScreenTag(std::string tag_path);
56 }
Blam::Content::Tags::client_ui_screen::TAG_BLOCK
TAG_BLOCK(templates, { tag_reference template_tag;})
Blam::Content::Tags
Namespace containing functions related to tag data.
Definition: bitmap.h:10
Blam::Content::Tags::Classes::ClientUIScreenTagClass
Tag class information for Color Table tags.
Definition: cui_screen.h:28
TagReferenceField
Class representing a tag reference, or tagref for short.
Definition: tagref.h:14
BlamTagClass::revisions
std::vector< BlamTagClassRevision > revisions
List of all tag class revisions. Does not get written to tags, but is included in plugin files.
Definition: tagclass.h:47
BlamTagClass::class_name_short
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tagclass.h:45
BlamTagClass::version
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tagclass.h:46
tag_reference
Structure representing a tag reference.
Definition: tags.h:175
BlamTagClass::class_name_long
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tagclass.h:44
Blam::Content::Tags::Classes::ClientUIScreenTagClass::ClientUIScreenTagClass
ClientUIScreenTagClass()
Definition: cui_screen.h:31
BLAM
#define BLAM
Definition: discord_rpc.h:8
BlamTagClass::tag_size
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:51
Blam::Content::Tags::client_ui_screen::string_reference
tag_reference string_reference
Definition: cui_screen.h:15
Blam::Content::Tags::ClientUIScreenTag
BLAM client_ui_screen * ClientUIScreenTag(std::string tag_path)
BlockField
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:13
BlamTagClass
Class representing a tag class.
Definition: tagclass.h:41
BlamTagClass::fields
std::vector< BlamPluginField * > fields
A series of tag fields that store the layout of the tag.
Definition: tagclass.h:49
Blam::Content::Tags::client_ui_screen
Definition: cui_screen.h:13