Elaztek Developer Hub
Blamite Game Engine - blam!  00310.02.05.21.0336.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 
19  {
22  };
23 
24  namespace Classes
25  {
30  {
31  public:
33  {
34  class_name_long = "cui_screen";
35  class_name_short = "cusc";
36  version = 1;
37 
38  revisions = {
39  {1, "haloman30", "Initial implementation."}
40  };
41 
42  tag_size = sizeof(client_ui_screen);
43 
44  fields =
45  {
46  new TagReferenceField("String reference", "", { "unic" }),
47  new BlockField(sizeof(client_ui_screen__templates), "Templates", "",
48  {
49  new TagReferenceField("Template", "", { "bitm" })
50  })
51  };
52  }
53  };
54  }
55 
56  BLAM client_ui_screen* ClientUIScreenTag(std::string tag_path);
57 }
Blam::Content::Tags
Namespace containing things related to tag data.
Definition: bitmap.h:10
tag_block
Structure representing a tag block.
Definition: tags.h:107
Blam::Content::Tags::Classes::ClientUIScreenTagClass
Tag class information for Color Table tags.
Definition: cui_screen.h:29
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:150
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:32
Blam::Content::Tags::client_ui_screen__templates::template_tag
tag_reference template_tag
Definition: cui_screen.h:15
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:20
Blam::Content::Tags::client_ui_screen__templates
Definition: cui_screen.h:13
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:18
Blam::Content::Tags::client_ui_screen::templates
tag_block< client_ui_screen__templates > templates
Definition: cui_screen.h:21