Elaztek Developer Hub
Blamite Game Engine - blam!  00453.06.08.26.0624.blamite
The core library for the Blamite Game Engine.
shader_program.h
Go to the documentation of this file.
1 // shader_program [rmsp] - 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>
12 #include <blam/api/v1/types/tags.h>
14 
15 #ifndef BLAM
16 #define BLAM
17 #endif
18 
19 #define tag_rmsp "rmsp"
20 
21 
22 
23 #pragma pack(push, 1)
25 {
30 };
31 #pragma pack(pop)
32 
34 {
35 public:
37  {
38  class_name_long = "shader_program";
39  class_name_short = "rmsp";
40  version = 0;
41 
42  revisions = {
43 
44  };
45 
46  tag_size = 128;
47 
48  fields =
49  {
50  new DataReferenceField("syntax code", ""),
51  new DataReferenceField("target", ""),
52  new DataReferenceField("entry point", ""),
53  new DataReferenceField("program", ""),
54 
55  };
56  }
57 };
58 
59 namespace Blam::Content::Tags
60 {
61  BLAM shader_program* GetShaderProgramTag(std::string tag_path);
62 }
shader_program::syntax_code
data_reference syntax_code
Definition: shader_program.h:26
Blam::Content::Tags
Namespace containing functions related to tag data.
Definition: bitmap.h:181
shader_program::entry_point
data_reference entry_point
Definition: shader_program.h:28
DataReferenceField
Class representing a data reference, or dataref for short.
Definition: dataref.h:19
shader_program::program
data_reference program
Definition: shader_program.h:29
Blam::Content::Tags::GetShaderProgramTag
BLAM shader_program * GetShaderProgramTag(std::string tag_path)
Definition: shader_program.cpp:13
Blam::API::v1::Tags::GetTagData
BLAM_EXT_API BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: api.cpp:208
BlamTagClass::fields
std::vector< BlamTagClassField * > fields
A series of tag fields that store the layout of the tag.
Definition: tags.h:209
BLAM
#define BLAM
Definition: shader_program.h:16
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:208
plugins.h
BlamTagClass::class_name_short
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tags.h:206
BlamTagClass::version
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tags.h:207
ShaderProgramTagClass::ShaderProgramTagClass
ShaderProgramTagClass()
Definition: shader_program.h:36
ShaderProgramTagClass
Definition: shader_program.h:33
BlamTagClass::class_name_long
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tags.h:205
shader_program
Definition: shader_program.h:24
shader_program.h
data_reference
Structure representing a data reference.
Definition: tags.h:342
tag_rmsp
#define tag_rmsp
Definition: shader_program.h:19
shader_program::target
data_reference target
Definition: shader_program.h:27
BlamTagClass::tag_size
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tags.h:210
BlamTagData::address
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:132
tags.h
BlamTagData
Class used to contain and access tag data.
Definition: tags.h:125
BlamTagClass
Class representing a tag class.
Definition: tags.h:202
api.h
BlamTagData::tag_class
std::string tag_class
The tag's short class name.
Definition: tags.h:146