Blamite Game Engine - blam!  00296.01.12.21.0102.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 
5 #ifndef BLAM
6 #define BLAM
7 #endif
8 
10 {
13 };
14 
16 {
19 };
20 
22 {
24  uint8_t item_count;
25 
26 };
27 
29 {
31 
33  //tag_block<> verticies;
34  //tag_block<> triangles;
35 };
36 
38 {
41 };
42 
43 namespace Blam::Content::Tags
44 {
45  namespace Classes
46  {
48  {
49  public:
51  {
52  class_name_long = "render_model";
53  class_name_short = "mode";
54  version = 1;
55 
56  revisions = {
57  {1, "haloman30", "Initial implementation."}
58  };
59 
60  tag_size = sizeof(render_model);
61 
62  fields =
63  {
64  new AsciiField("name", "model name"),
65  new Block(sizeof(render_model__geometry_group), "geometry groups", "",
66  {
67  new AsciiField("shader name", ""),
68  new Block(sizeof(render_model__geometry_group__vertex_layout), "vertex layout", "",
69  {
70  new EnumField("", "",
71  {
72  "",
73  ""
74  })
75  })
76  })
77  };
78  }
79  };
80  }
81 }
Blam::Content::Tags
Namespace containing things related to tag data.
Definition: bitmap.h:9
position
@ position
Definition: render_model.h:11
tag_block< render_model__geometry_group__vertex_layout >
render_model
Definition: render_model.h:37
ascii
char ascii[32]
Typedef for an ascii field, used in tag data definitions.
Definition: fields.h:21
Blam::Content::Tags::BlamTagClass::tag_size
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:53
render_model__geometry_group::vertex_layout
tag_block< render_model__geometry_group__vertex_layout > vertex_layout
Definition: render_model.h:32
color
@ color
Definition: render_model.h:12
vertex_layout_entry_item_type
vertex_layout_entry_item_type
Definition: render_model.h:9
Blam::Content::Tags::Block
Class representing a tag block, also referred to as a struct or reflexive in the modding community.
Definition: fields.h:745
Blam::Content::Tags::BlamTagClass
Class representing a tag class.
Definition: tagclass.h:43
Float
@ Float
Definition: render_model.h:17
Blam::Content::Tags::EnumField
Class representing an enum tag field.
Definition: fields.h:328
UnsignedInt8
@ UnsignedInt8
Definition: render_model.h:18
vertex_layout_entry_data_type
vertex_layout_entry_data_type
Definition: render_model.h:15
Blam::Content::Tags::BlamTagClass::class_name_short
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tagclass.h:47
Blam::Content::Tags::Classes::RenderModelTagClass
Definition: render_model.h:47
stringid
char stringid[128]
Typedef for a stringid field, used in tag data definitions.
Definition: fields.h:22
render_model__geometry_group__vertex_layout::item_count
uint8_t item_count
Definition: render_model.h:24
Blam::Content::Tags::AsciiField
Class representing an ascii tag field.
Definition: fields.h:89
Blam::Content::Tags::BlamTagClass::version
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tagclass.h:48
render_model::name
ascii name
Definition: render_model.h:39
render_model::geometry_groups
tag_block< render_model__geometry_group > geometry_groups
Definition: render_model.h:40
render_model__geometry_group__vertex_layout
Definition: render_model.h:21
render_model__geometry_group
Definition: render_model.h:28
Blam::Content::Tags::Classes::RenderModelTagClass::RenderModelTagClass
RenderModelTagClass()
Definition: render_model.h:50
Blam::Content::Tags::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
Blam::Content::Tags::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
render_model__geometry_group__vertex_layout::item_type
vertex_layout_entry_item_type item_type
Definition: render_model.h:23
render_model__geometry_group::shader
stringid shader
migrate to tagref at some point
Definition: render_model.h:30
Blam::Content::Tags::BlamTagClass::fields
std::vector< TagField * > fields
A series of tag fields that store the layout of the tag.
Definition: tagclass.h:51