Elaztek Developer Hub
Blamite Game Engine - blam!  00368.02.12.23.1347.blamite
The core library for the Blamite Game Engine.
cui_screen.h
Go to the documentation of this file.
1 #pragma once
2 
6 
7 #ifndef BLAM
8 #define BLAM
9 #endif
10 
11 namespace Blam::Content::Tags
12 {
13 #pragma pack(push, 1)
15  {
17 
18  TAG_BLOCK(templates,
19  {
20  tag_reference template_tag;
21  });
22  };
23 #pragma pack(pop)
24 
25  namespace Classes
26  {
31  {
32  public:
34  {
35  class_name_long = "cui_screen";
36  class_name_short = "cusc";
37  version = 1;
38 
39  revisions = {
40  {1, "haloman30", "Initial implementation."}
41  };
42 
43  tag_size = sizeof(client_ui_screen);
44 
45  fields =
46  {
47  new TagReferenceField("String reference", "", { "unic" }),
48  new BlockField(sizeof(client_ui_screen::templates_entry), "Templates", "",
49  {
50  new TagReferenceField("Template", "", { "bitm" })
51  })
52  };
53  }
54  };
55  }
56 
57  BLAM client_ui_screen* ClientUIScreenTag(std::string tag_path);
58 }
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:151
Blam::Content::Tags::Classes::ClientUIScreenTagClass
Tag class information for Color Table tags.
Definition: cui_screen.h:30
BLAM
#define BLAM
Definition: cui_screen.h:8
tags.h
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:49
BlamTagClass::class_name_short
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tagclass.h:47
BlamTagClass::version
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tagclass.h:48
tag_reference
Structure representing a tag reference.
Definition: tags.h:158
BlamTagClass::class_name_long
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tagclass.h:46
fields.h
Blam::Content::Tags::Classes::ClientUIScreenTagClass::ClientUIScreenTagClass
ClientUIScreenTagClass()
Definition: cui_screen.h:33
BlamTagClass::tag_size
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:53
Blam::Content::Tags::client_ui_screen::string_reference
tag_reference string_reference
Definition: cui_screen.h:16
tagclass.h
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:43
BlamTagClass::fields
std::vector< BlamPluginField * > fields
A series of tag fields that store the layout of the tag.
Definition: tagclass.h:51
Blam::Content::Tags::client_ui_screen
Definition: cui_screen.h:14