Elaztek Developer Hub
Blamite Game Engine - blam!  00453.06.08.26.0624.blamite
The core library for the Blamite Game Engine.
tagclass.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 #include <Windows.h>
6 #include <Strings/components/utils/io/io.h>
7 #include "api/v1/types/tags.h"
8 
9 #ifndef BLAM
10 #define BLAM
11 #endif
12 
13 namespace Blam::Content::Tags
14 {
18  BLAM void LoadDefaultClasses();
19 
24 
32  BLAM_EXT_API BlamTagClass* GetTagClass(std::string id);
33 
39  BLAM_EXT_API std::vector<BlamTagClass*>* GetRegisteredTagClasses();
40 
47 
53  BLAM void GenerateAllPlugins(bool require_switch);
54 }
55 
61 namespace BlamTagClassOLD
62 {
69 }
tile_set
Definition: tile_set.h:24
Blam::RenderingBGFX::Materials::InvalidateMaterial
void InvalidateMaterial(std::string tag_path)
Definition: materials.cpp:992
ui.h
test_tag.h
tag_io.h
tag_skya
#define tag_skya
Definition: sky_atm_parameters.h:22
Blam::Content::Tags::RegisterTagClass
BLAM void RegisterTagClass(BlamTagClass *data)
Registers a new tag class within the engine.
Definition: tagclass.cpp:85
Blam::Content::Tags
Namespace containing functions related to tag data.
Definition: bitmap.h:181
Blam::Content::Tags::TagScriptPostprocess
BLAM void TagScriptPostprocess(BlamTagData *tag_data)
Definition: tag_postprocess.cpp:272
if
if(WIN32) set(OGRE_MEDIA_PATH "Media") elseif(APPLE) set(OGRE_MEDIA_PATH "Media") elseif(UNIX) set(OGRE_MEDIA_PATH "share/$
Definition: CMakeLists.txt:15
ogre_material_instance_data::tag_instance
material * tag_instance
Pointer to the tag that uses this material instance.
Definition: rendering.h:87
Blam::Logger::LogEvent
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:130
Blam::Content::Tags::GetFieldSize
BLAM int GetFieldSize(BlamTagFieldType type)
Retrieves the standard field size of a plugin field type.
Definition: fields.cpp:96
Blam::Content::Tags::LoadDefaultClasses
BLAM void LoadDefaultClasses()
Loads all built-in tag classes available to the engine.
Definition: tagclass.cpp:124
render_model
Definition: render_model.h:27
scenario.h
Blam::RenderingBGFX::Models::LoadModel
BLAM void LoadModel(render_model *model, std::string tag_path)
Definition: models.cpp:26
logger.h
ogre_material_info_data::hlms_type
Ogre::HlmsTypes hlms_type
The HLMS type of this material.
Definition: rendering.h:110
bitmap.h
entry
Definition: imgui.h:36
BLAM_EXT_API
#define BLAM_EXT_API
Definition: api.h:9
BlamEngineExtension
Class representing a Blamite Engine Extension.
Definition: extensions.h:26
blamscript.h
Blam::Rendering::Materials::LoadPBSDatablockFromMaterialTag
BLAM bool LoadPBSDatablockFromMaterialTag(Ogre::HlmsPbsDatablock *datablock, material *material_tag, std::string tag_path="")
Loads a PBS (Physically-Based Shading) datablock from a material tag.
Definition: materials.cpp:378
BlamTagData::path
char path[256]
The tag's path.
Definition: tags.h:145
Blam::Rendering::Shaders::LoadShader
BLAM void LoadShader(shader *program, std::string tag_path)
Definition: shaders_hlms.cpp:264
TileSetTagClass
Definition: tile_set.h:46
BlamTagData::script_id
std::string script_id
Definition: tags.h:151
cui_screen
Definition: cui_screen.h:44
UsingBgfx
bool UsingBgfx()
Definition: bgfx.cpp:63
Blam::Scripts::CreateNewScript
BLAM BlamScript * CreateNewScript(std::string name)
Definition: blamscript.cpp:22
Blam::Content::Tags::GetTagClass
BLAM_EXT_API BlamTagClass * GetTagClass(std::string id)
Retrieves a tag class that matches the given string.
Definition: tagclass.cpp:72
Blam::Extensions::GetExtensionList
BLAM std::vector< BlamEngineExtension * > GetExtensionList()
Retrieves the list of loaded extensions.
Definition: extensions.cpp:145
LinkCUSCComponentMaterialParameters
void LinkCUSCComponentMaterialParameters(BlamTagData *material_tag_data, cui_screen::basic_components_entry *component, std::string cusc_tag_path)
Definition: tag_postprocess.cpp:23
verify_material_for_param_linking
bool verify_material_for_param_linking(BlamTagData *material_tag_data)
Definition: tag_postprocess.cpp:79
Blam::Content::Tags::TagNeedsPostprocess
BLAM bool TagNeedsPostprocess(BlamTagData *tag_data)
Checks if a given tag requires additional post-processing.
Definition: tag_postprocess.cpp:108
ScenarioTagClass
Definition: scenario.h:224
render_model.h
rendering.h
Blam::Content::Tags::GetActiveScenarioTag
BLAM scenario * GetActiveScenarioTag()
Retrieves the currently loaded scenario tag.
Definition: scenario.cpp:225
tag_cusc
#define tag_cusc
Definition: cui_screen.h:22
Blam::UI::LoadFromCUIScreenTag
BLAM bool LoadFromCUIScreenTag(std::string tag_path, cui_screen *cusc_tag)
Creates a new UI widget from a cui_screen tag.
Definition: ui.cpp:157
Blam::Content::Tags::GetTileSetTag
BLAM tile_set * GetTileSetTag(std::string tag_path)
Definition: tile_set.cpp:13
tile_map.h
Blam::Content::Tags::GetRegisteredTagClasses
BLAM_EXT_API std::vector< BlamTagClass * > * GetRegisteredTagClasses()
Retrieves the list of all registered tag classes.
Definition: tagclass.cpp:90
cui_screen.h
light.h
Blam::Rendering::Tilesets::LoadTileset
BLAM void LoadTileset(tile_set *tileset, std::string tag_path)
Definition: tilesets.cpp:71
GlobalsTagClass
Definition: globals.h:41
tag_ligh
#define tag_ligh
Definition: light.h:22
Blam::Rendering::Materials::BuildDatablockFromTag
BLAM bool BuildDatablockFromTag(material *material_tag, std::string tag_path)
Creates an OGRE material datablock from a material tag.
Definition: materials.cpp:795
Blam::Rendering::Materials::LoadUnlitDatablockFromMaterialTag
BLAM bool LoadUnlitDatablockFromMaterialTag(Ogre::HlmsUnlitDatablock *datablock, material *material_tag, std::string tag_path="")
Loads an Unlit datablock from a material tag.
Definition: materials.cpp:211
shader
Definition: shader.h:31
Blam::Rendering::Textures::BuildTextureFromTag
BLAM void BuildTextureFromTag(bitmap *bitmap_tag, std::string tag_path)
Loads a texture into OGRE from a bitmap tag.
Definition: textures.cpp:97
BlamTagData::uses_global_script
bool uses_global_script
Definition: tags.h:155
BlamTagScript
Definition: scripts.h:26
CameraTagClass
Definition: camera.h:39
y
font DisplayOffset y
Definition: README.txt:68
sky_atm_parameters
Definition: sky_atm_parameters.h:27
material.h
LightTagClass
Definition: light.h:100
ENGINE_DATA_PATH
#define ENGINE_DATA_PATH(path)
Macro to quickly access a game engine data folder.
Definition: config.h:34
BLAM
#define BLAM
Definition: tagclass.h:10
sky_atm_parameters.h
SkyAtmParametersTagClass
Definition: sky_atm_parameters.h:83
BlamScript::Ready
virtual void Ready()
Definition: scripts.h:20
Blam::Content::Tags::TagPostprocess
BLAM void TagPostprocess(BlamTagData *tag_data)
Performs any required post-processing for a given tag.
Definition: tag_postprocess.cpp:152
tag_bitm
#define tag_bitm
Definition: bitmap.h:22
Blam::Content::Tags::GetSkyAtmParametersTag
BLAM sky_atm_parameters * GetSkyAtmParametersTag(std::string tag_path)
Definition: sky_atm_parameters.cpp:16
tile_set.h
ShaderProgramTagClass
Definition: shader_program.h:33
Blam::Content::Tags::GetCuiScreenTag
BLAM cui_screen * GetCuiScreenTag(std::string tag_path)
Definition: cui_screen.cpp:16
material
Definition: material.h:54
Blam::Content::Tags::GetTagData
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:81
Blam::Content::Tags::GetBitmapTag
BLAM bitmap * GetBitmapTag(std::string tag_path)
Definition: bitmap.cpp:16
MaterialTagClass
Definition: material.h:307
Blam::Rendering::Shaders::LoadRawShader
BLAM Ogre::MaterialPtr LoadRawShader(shader *shader, std::string tag_path)
Definition: shaders_raw.cpp:116
ogre_material_instance_data::instance_datablock
Ogre::HlmsDatablock * instance_datablock
The datablock used for this material instance.
Definition: rendering.h:86
ogre_material_instance_data
Data structure used to store OGRE material instance data.
Definition: rendering.h:82
Blam::Content::Tags::GenerateAllPlugins
BLAM void GenerateAllPlugins(bool require_switch)
Instructs the engine to generate Assembly/Guerilla plugins at startup.
Definition: tagclass.cpp:95
BlamTagData::Poke
void Poke()
Definition: BlamTagData.cpp:98
Blam::RenderingBGFX::Textures::BuildTextureFromTag
BLAM void BuildTextureFromTag(bitmap *bitmap_tag, std::string tag_path)
Loads a texture into bgfx from a bitmap tag.
Definition: bitmaps.cpp:372
shader_program.h
BlamTagInstance
Definition: tags.h:236
registered_classes
std::vector< BlamTagClass * > registered_classes
List of all registered tag classes.
Definition: tagclass.cpp:70
camera.h
scenario::atmosphere
tag_reference atmosphere
Definition: scenario.h:38
scenario.h
fields.h
tag_tils
#define tag_tils
Definition: tile_set.h:19
BlamTagClassOLD
Legacy namespace for tag class data.
Definition: tagclass.h:61
tag_mat
#define tag_mat
Definition: material.h:22
tag_rmsp
#define tag_rmsp
Definition: shader_program.h:19
BlamEngineDataFolder::Plugins
@ Plugins
Directory used to store built-in plugin files for use with the Editing Kit. Defaults to ....
TileMapTagClass
Definition: tile_map.h:36
Blam::Rendering::Materials::CreateDatablockInstance
BLAM ogre_material_instance_data * CreateDatablockInstance(std::string tag_path, std::string referencing_tag_path)
Creates a new datablock instance from a material tag path, and a referencing tag path.
Definition: materials.cpp:983
globals.h
shader.h
TestTagTagClass
Definition: test_tag.h:198
BlamTagData::CreateNewInstance
BlamTagInstance * CreateNewInstance()
Definition: BlamTagData.cpp:67
bitmap
Definition: bitmap.h:34
BlamTagData::address
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:132
tagclass.h
Blam::Content::Tags::GetShaderTag
BLAM shader * GetShaderTag(std::string tag_path)
Definition: shader.cpp:13
config.h
ShaderTagClass
Definition: shader.h:114
tags.h
tags.h
x
config GlyphExtraSpacing x
Definition: README.txt:30
BlamTagData::origin
TagOrigin origin
The origin of the tag.
Definition: tags.h:147
TagOrigin::BinaryFile
@ BinaryFile
Indicates the tag originated from a binary file.
BlamTagData
Class used to contain and access tag data.
Definition: tags.h:125
Blam::Content::Tags::LoadExtensionClasses
BLAM void LoadExtensionClasses()
Loads all tag classes that are included through engine extensions.
Definition: tagclass.cpp:142
Blam::Content::Tags::GetMaterialTag
BLAM material * GetMaterialTag(std::string tag_path)
Definition: material.cpp:16
ogre_material_instance_data::original_material
ogre_material_info_data * original_material
Pointer to the original material information.
Definition: rendering.h:84
tag_reference::tagref_address
void * tagref_address
The address of the tagref data.
Definition: tags.h:295
RenderModelTagClass
Definition: render_model.h:134
Blam::Rendering::Models::LoadModel
BLAM void LoadModel(render_model *model, std::string tag_path)
Definition: models.cpp:226
BlamTagInstance::instance
BlamTagData * instance
Definition: tags.h:240
tag_rmsh
#define tag_rmsh
Definition: shader.h:19
extensions.h
BlamTagClass
Class representing a tag class.
Definition: tags.h:202
tag_mode
#define tag_mode
Definition: render_model.h:22
BitmapTagClass
Definition: bitmap.h:76
BlamTagData::script
BlamTagScript * script
Definition: tags.h:154
BlamTagClassOLD::scenario_structure_bsp
BLAM void scenario_structure_bsp()
Legacy function made before I had any idea what I was doing.
Definition: tagclass.cpp:37
CuiScreenTagClass
Definition: cui_screen.h:141
BlamTagData::tag_class
std::string tag_class
The tag's short class name.
Definition: tags.h:146
Blam::Content::Tags::GetRenderModelTag
BLAM render_model * GetRenderModelTag(std::string tag_path)
Definition: render_model.cpp:16