Elaztek Developer Hub
Blamite Game Engine - blam!  00310.02.05.21.0336.blamite
The core library for the Blamite Game Engine.
render_model.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../tagclass.h"
4 #include "../fields.h"
5 
6 #ifndef BLAM
7 #define BLAM
8 #endif
9 
11 {
14 };
15 
17 {
20 };
21 
23 {
25  uint8_t item_count;
26 
27 };
28 
30 {
32 
34  //tag_block<> verticies;
35  //tag_block<> triangles;
36 };
37 
39 {
42 };
43 
44 namespace Blam::Content::Tags
45 {
46  namespace Classes
47  {
49  {
50  public:
52  {
53  class_name_long = "render_model";
54  class_name_short = "mode";
55  version = 1;
56 
57  revisions = {
58  {1, "haloman30", "Initial implementation."}
59  };
60 
61  tag_size = sizeof(render_model);
62 
63  fields =
64  {
65  new AsciiField("name", "model name"),
66  new BlockField(sizeof(render_model__geometry_group), "geometry groups", "",
67  {
68  new AsciiField("shader name", ""),
69  new BlockField(sizeof(render_model__geometry_group__vertex_layout), "vertex layout", "",
70  {
71  new Enum32Field("", "",
72  {
73  "",
74  ""
75  })
76  })
77  })
78  };
79  }
80  };
81  }
82 }
ascii
char ascii[128]
Typedef for an ascii field, used in tag data definitions.
Definition: tags.h:211
Blam::Content::Tags
Namespace containing things related to tag data.
Definition: bitmap.h:10
position
@ position
Definition: render_model.h:12
tag_block< render_model__geometry_group__vertex_layout >
render_model
Definition: render_model.h:38
AsciiField
Class representing an ascii tag field.
Definition: ascii.h:11
render_model__geometry_group::vertex_layout
tag_block< render_model__geometry_group__vertex_layout > vertex_layout
Definition: render_model.h:33
color
@ color
Definition: render_model.h:13
vertex_layout_entry_item_type
vertex_layout_entry_item_type
Definition: render_model.h:10
Enum32Field
Definition: enum.h:40
Float
@ Float
Definition: render_model.h:18
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
UnsignedInt8
@ UnsignedInt8
Definition: render_model.h:19
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
vertex_layout_entry_data_type
vertex_layout_entry_data_type
Definition: render_model.h:16
Blam::Content::Tags::Classes::RenderModelTagClass
Definition: render_model.h:48
render_model__geometry_group__vertex_layout::item_count
uint8_t item_count
Definition: render_model.h:25
BlamTagClass::tag_size
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:51
render_model::name
ascii name
Definition: render_model.h:40
render_model::geometry_groups
tag_block< render_model__geometry_group > geometry_groups
Definition: render_model.h:41
render_model__geometry_group__vertex_layout
Definition: render_model.h:22
render_model__geometry_group
Definition: render_model.h:29
Blam::Content::Tags::Classes::RenderModelTagClass::RenderModelTagClass
RenderModelTagClass()
Definition: render_model.h:51
BlockField
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:13
render_model__geometry_group__vertex_layout::item_type
vertex_layout_entry_item_type item_type
Definition: render_model.h:24
stringid
char stringid[128]
Typedef for a stringid field, used in tag data definitions.
Definition: tags.h:212
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
render_model__geometry_group::shader
stringid shader
migrate to tagref at some point
Definition: render_model.h:31