Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00449.01.12.26.0555.blamite
The tag editor for the Blamite Game Engine.
BlamProject Class Reference

Class representing a Blamite Project. More...

#include <projects.h>

+ Collaboration diagram for BlamProject:

Public Member Functions

 PROJECT_SECTION (game_info, { std::string title="core";std::string codename="core";std::string publisher="Elaztek Studios";std::string developer="Elaztek Studios";std::string affiliates="";std::string copyright="Copyright (c) Elaztek Studios 2013-2023";std::string website="https://elaztek.com/";std::string version="";std::string icon="";})
 
 PROJECT_SECTION (cpp_script_info, { bool uses_cpp_script=false;std::string vcxproj_path="";std::string engine_dependencies_path="";std::string msbuild_path="msbuild.exe";std::string msbuild_extra_args="";std::string pre_build_commands="";std::string post_build_commands="";})
 
 PROJECT_SECTION (engine_settings, { std::string user_data_folder="/";std::string default_cache="mainmenu";std::string campaign_info="";std::string startup_movie="";std::string content_root="";std::string tags_dir="tags";std::string movies_dir="bink";std::string data_dir="data";std::string cache_dir="maps";std::string plugins_dir="plugins";std::string fonts_dir="maps/fonts";bool allow_user_tag_overrides=false;bool allow_release_debug_tools=false;bool allow_release_console=false;})
 
 BlamProject (std::string file_path)
 Initializes and loads an existing project. More...
 
 BlamProject ()
 
 ~BlamProject ()
 
bool LoadFromDisk (std::string file_path)
 
bool Save ()
 
bool IsLoaded ()
 
bool BuildTagHierarchy ()
 Builds the tag hierarchy for the project. More...
 
std::string GetContentRoot ()
 
std::string GetTagsRoot ()
 
std::string GetMoviesRoot ()
 
std::string GetDataRoot ()
 
std::string GetCacheRoot ()
 
std::string GetPluginsRoot ()
 
std::string GetFontsRoot ()
 
std::string GetVcxprojPath ()
 
std::string GetMSBuildPath ()
 
std::string GetEngineDependenciesPath ()
 
BlamProjectInfo GetProjectInfoForEngine ()
 
std::string GetTagFilePathFromTagPath (std::string tag_path)
 
BlamTagTreeNodeGetHierarchyNodeFromTagPath (std::string tag_path)
 

Public Attributes

std::string file_path = ""
 
int format_version = 0
 
std::string project_name = "unnamed"
 The name of the project. More...
 
std::string project_root = ""
 The root folder for the project. More...
 
BlamProjectUserConfigproject_info_user = nullptr
 
BlamTagTreeNodehierarchy_root = nullptr
 The root node for the project's tag hierarchy. More...
 

Detailed Description

Class representing a Blamite Project.

Projects can be used with or without a project information file. In the absence of a project information file (*.blam), then some features which rely on one will not be functional. Instead, the project acts as purely a content directory for tag usage within the classic editing tools, such as Sapien or Guerilla.

Constructor & Destructor Documentation

◆ BlamProject() [1/2]

BlamProject::BlamProject ( std::string  file_path)

Initializes and loads an existing project.

Parameters
file_path- The path to the project directory.
+ Here is the call graph for this function:

◆ BlamProject() [2/2]

BlamProject::BlamProject ( )

◆ ~BlamProject()

BlamProject::~BlamProject ( )

Member Function Documentation

◆ BuildTagHierarchy()

bool BlamProject::BuildTagHierarchy ( )

Builds the tag hierarchy for the project.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCacheRoot()

std::string BlamProject::GetCacheRoot ( )
+ Here is the call graph for this function:

◆ GetContentRoot()

std::string BlamProject::GetContentRoot ( )
+ Here is the caller graph for this function:

◆ GetDataRoot()

std::string BlamProject::GetDataRoot ( )
+ Here is the call graph for this function:

◆ GetEngineDependenciesPath()

std::string BlamProject::GetEngineDependenciesPath ( )
+ Here is the call graph for this function:

◆ GetFontsRoot()

std::string BlamProject::GetFontsRoot ( )
+ Here is the call graph for this function:

◆ GetHierarchyNodeFromTagPath()

BlamTagTreeNode * BlamProject::GetHierarchyNodeFromTagPath ( std::string  tag_path)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMoviesRoot()

std::string BlamProject::GetMoviesRoot ( )
+ Here is the call graph for this function:

◆ GetMSBuildPath()

std::string BlamProject::GetMSBuildPath ( )
+ Here is the call graph for this function:

◆ GetPluginsRoot()

std::string BlamProject::GetPluginsRoot ( )
+ Here is the call graph for this function:

◆ GetProjectInfoForEngine()

BlamProjectInfo BlamProject::GetProjectInfoForEngine ( )

◆ GetTagFilePathFromTagPath()

std::string BlamProject::GetTagFilePathFromTagPath ( std::string  tag_path)
+ Here is the call graph for this function:

◆ GetTagsRoot()

std::string BlamProject::GetTagsRoot ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetVcxprojPath()

std::string BlamProject::GetVcxprojPath ( )
+ Here is the call graph for this function:

◆ IsLoaded()

bool BlamProject::IsLoaded ( )
+ Here is the caller graph for this function:

◆ LoadFromDisk()

bool BlamProject::LoadFromDisk ( std::string  file_path)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PROJECT_SECTION() [1/3]

BlamProject::PROJECT_SECTION ( cpp_script_info  ,
{ bool uses_cpp_script=false;std::string vcxproj_path="";std::string engine_dependencies_path="";std::string msbuild_path="msbuild.exe";std::string msbuild_extra_args="";std::string pre_build_commands="";std::string post_build_commands="";}   
)

◆ PROJECT_SECTION() [2/3]

BlamProject::PROJECT_SECTION ( engine_settings  ,
{ std::string user_data_folder="/";std::string default_cache="mainmenu";std::string campaign_info="";std::string startup_movie="";std::string content_root="";std::string tags_dir="tags";std::string movies_dir="bink";std::string data_dir="data";std::string cache_dir="maps";std::string plugins_dir="plugins";std::string fonts_dir="maps/fonts";bool allow_user_tag_overrides=false;bool allow_release_debug_tools=false;bool allow_release_console=false;}   
)

◆ PROJECT_SECTION() [3/3]

BlamProject::PROJECT_SECTION ( game_info  ,
{ std::string title="core";std::string codename="core";std::string publisher="Elaztek Studios";std::string developer="Elaztek Studios";std::string affiliates="";std::string copyright="Copyright (c) Elaztek Studios 2013-2023";std::string website="https://elaztek.com/";std::string version="";std::string icon="";}   
)

◆ Save()

bool BlamProject::Save ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ file_path

std::string BlamProject::file_path = ""

◆ format_version

int BlamProject::format_version = 0

◆ hierarchy_root

BlamTagTreeNode* BlamProject::hierarchy_root = nullptr

The root node for the project's tag hierarchy.

◆ project_info_user

BlamProjectUserConfig* BlamProject::project_info_user = nullptr

◆ project_name

std::string BlamProject::project_name = "unnamed"

The name of the project.

◆ project_root

std::string BlamProject::project_root = ""

The root folder for the project.


The documentation for this class was generated from the following files: