Elaztek Developer Hub
Blamite Game Engine - blam!  00388.06.24.23.2301.blamite
The core library for the Blamite Game Engine.
wasd_shit.h
Go to the documentation of this file.
1 // wasd_shit [wasd] - Tag Definition //
3 // -------- //
4 // Part of the Blamite Game Engine //
5 // Copyright (c) Elaztek Studios 2013 - 2023 //
7 
8 
9 #pragma once
10 
11 #include <string>
15 
16 #ifndef BLAM
17 #define BLAM
18 #endif
19 
20 #pragma pack(push, 1)
21 struct wasd_shit
22 {
25  TAG_BLOCK(block_field_2,
26  {
27  TAG_BLOCK(block_field_1,
28  {
29  TAG_BLOCK(block_field_0,
30  {
31  color color_field_0;
33  });
34  color color_field_1;
35  tag_reference tagref_field_2;
36  });
37  color color_field_1;
38  tag_reference tagref_field_2;
39  });
40 };
41 #pragma pack(pop)
42 
44 {
45 public:
47  {
48  class_name_long = "wasd_shit";
49  class_name_short = "wasd";
50  version = 0;
51 
52  revisions = {
53 
54  };
55 
56  tag_size = 68;
57 
58  fields =
59  {
60  new ColorField("color field 0", ""),
61  new TagReferenceField("tagref field 1", "", { }),
62  new BlockField(68, "block field 2", "",
63  {
64  new BlockField(68, "block field 1", "",
65  {
66  new BlockField(36, "block field 0", "",
67  {
68  new ColorField("color field 0", ""),
69  new TagReferenceField("tagref field 1", "", { }),
70  }),
71  new ColorField("color field 1", ""),
72  new TagReferenceField("tagref field 2", "", { }),
73  }),
74  new ColorField("color field 1", ""),
75  new TagReferenceField("tagref field 2", "", { }),
76  }),
77 
78  };
79  }
80 };
81 
82 namespace Blam::Content::Tags
83 {
84  BLAM wasd_shit* GetWasdShitTag(std::string tag_path);
85 }
Blam::Content::Tags
Namespace containing functions related to tag data.
Definition: bitmap.h:151
wasd_shit::TAG_BLOCK
TAG_BLOCK(block_field_2, { TAG_BLOCK(block_field_1, { TAG_BLOCK(block_field_0, { color color_field_0;tag_reference tagref_field_1;});color color_field_1;tag_reference tagref_field_2;});color color_field_1;tag_reference tagref_field_2;})
WasdShitTagClass::WasdShitTagClass
WasdShitTagClass()
Definition: wasd_shit.h:46
BLAM
#define BLAM
Definition: wasd_shit.h:17
TagReferenceField
Class representing a tag reference, or tagref for short.
Definition: tagref.h:20
BlamTagClass::fields
std::vector< BlamTagClassField * > fields
A series of tag fields that store the layout of the tag.
Definition: tags.h:94
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: tags.h:92
wasd_shit
Definition: wasd_shit.h:21
BlamTagClass::class_name_short
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tags.h:90
BlamTagClass::version
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tags.h:91
tag_reference
Structure representing a tag reference.
Definition: tags.h:182
BlamTagClass::class_name_long
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tags.h:89
wasd_shit::color_field_0
color color_field_0
Definition: wasd_shit.h:23
wasd_shit::tagref_field_1
tag_reference tagref_field_1
Definition: wasd_shit.h:24
Blam::Content::Tags::GetTagData
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:80
fields.h
Blam::Content::Tags::GetWasdShitTag
BLAM wasd_shit * GetWasdShitTag(std::string tag_path)
Definition: wasd_shit.cpp:13
BlamTagClass::tag_size
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tags.h:96
ColorField
Class representing a color tag field.
Definition: color.h:19
wasd_shit.h
BlamTagData::address
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:33
WasdShitTagClass
Definition: wasd_shit.h:43
tagclass.h
tags.h
tags.h
BlamTagData
Class used to contain and access tag data.
Definition: tags.h:30
BlockField
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:21
BlamTagClass
Class representing a tag class.
Definition: tags.h:86