Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00402.09.29.23.0627.blamite
The tag editor for the Blamite Game Engine.
project_info.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #ifdef GUERILLA_LIB_EXPORTS
6 #define GUERILLA_LIB_API __declspec(dllexport)
7 #else
8 #define GUERILLA_LIB_API __declspec(dllimport)
9 #endif
10 
19 #define PROJECT_FILE_FORMAT_VERSION 1
20 
34 {
35  bool load_result = false;
36  std::string file_path = "";
37  int format_version = 0;
38 
40  {
41  std::string title = "";
42  std::string codename = "";
43  std::string publisher = "";
44  std::string developer = "";
45  std::string affiliates = "";
46  std::string copyright = "";
47  std::string website = "";
48  std::string build_type = "";
49  std::string version = "";
50  std::string icon = "";
51  };
52 
54 
56  {
57  std::string update_info_url = "";
58  std::string mods_info_url = "";
59  std::string invision_api_url = "";
60  };
61 
63 
65  {
66  std::string default_cache = "";
67  std::string campaign_info = "";
68  std::string startup_movie = "";
69 
70  std::string content_root = "";
71  };
72 
74 };
75 
80 {
88  GUERILLA_LIB_API BlamProjectInfo LoadProjectInfo(std::string file_path);
89 
98 }
BlamProjectInfo::game_info_data::affiliates
std::string affiliates
Definition: project_info.h:45
PROJECT_FILE_FORMAT_VERSION
#define PROJECT_FILE_FORMAT_VERSION
The current project file format version.
Definition: project_info.h:19
BlamProjectInfo::game_info
game_info_data game_info
Definition: project_info.h:53
BlamDatarefValueHintType::C
@ C
C Code.
BlamProjectInfo::engine_settings
engine_settings_data engine_settings
Definition: project_info.h:73
BlamTagTreeNode::disk_path
std::string disk_path
The path of this node on disk, relative or absolute, ex: ./tags/levels/multi/forge_halo
Definition: projects.h:45
BlamTagTreeNode::children
std::vector< BlamTagTreeNode * > children
Any child nodes within this node, will only apply for Folder nodes.
Definition: projects.h:42
BlamProject::content_root
std::string content_root
The root folder containing project content.
Definition: projects.h:94
BlamProjectInfo::network_settings_data::update_info_url
std::string update_info_url
Definition: project_info.h:57
GetChildNodeValue
std::string GetChildNodeValue(rapidxml::xml_node<> *parent_node, std::string child_node_name)
Retrieves the value of a child node within an XML node.
Definition: project_info.cpp:20
BlamProject
Class representing a Blamite Project.
Definition: projects.h:79
BlamProjectInfo::game_info_data::publisher
std::string publisher
Definition: project_info.h:43
BlamTagTreeNode::BlamTagTreeNode
BlamTagTreeNode(BlamProject *_project, std::string file_path, bool ignore_folder_name_in_hierarchy, BlamTagTreeNode *parent=nullptr)
Constructs a new tag tree node.
Definition: BlamTagTreeNode.cpp:8
project_info.h
BlamProjectInfo::game_info_data::developer
std::string developer
Definition: project_info.h:44
BlamProjectInfo::engine_settings_data::campaign_info
std::string campaign_info
Definition: project_info.h:67
BlamTagTreeNode::plugin
BlamPlugin * plugin
The plugin/tag class this tag uses. Will be nullptr if the node is a directory or if the tag has no p...
Definition: projects.h:47
BlamProjectInfo::game_info_data
Definition: project_info.h:39
BlamProject::project_info
BlamProjectInfo project_info
The project information file contents.
Definition: projects.h:88
BlamTagTreeNode::path_exists
bool path_exists
Whether or not the path associated with this node exists.
Definition: projects.h:38
BlamTagTreeNode::Refresh
void Refresh()
Refreshes the node for any changes to its children on disk.
Definition: BlamTagTreeNode.cpp:79
BlamStrings::Resources::ProjectInfo::SaveProjectInfo
GUERILLA_LIB_API bool SaveProjectInfo(BlamProjectInfo project)
Saves a project information file to disk.
Definition: project_info.cpp:145
BlamProject::has_project_info
bool has_project_info
Whether or not a .blam file exists within the directory.
Definition: projects.h:90
BlamProjectInfo::network_settings
network_settings_data network_settings
Definition: project_info.h:62
BlamStrings::Resources::ProjectInfo::LoadProjectInfo
GUERILLA_LIB_API BlamProjectInfo LoadProjectInfo(std::string file_path)
Loads a project information file from disk.
Definition: project_info.cpp:37
BlamTagTreeNode::display_name
std::string display_name
The display name of this node, ex: forge_halo
Definition: projects.h:46
BlamProjectInfo::network_settings_data::invision_api_url
std::string invision_api_url
Definition: project_info.h:59
BlamProject::project_load_result
bool project_load_result
Whether or not the project directory exists and is ready for use.
Definition: projects.h:89
BlamProject::BlamProject
BlamProject(std::string file_path)
Initializes and loads an existing project.
Definition: BlamProject.cpp:8
GUERILLA_LIB_API
#define GUERILLA_LIB_API
Definition: project_info.h:8
BlamProject::BuildTagHierarchy
void BuildTagHierarchy()
Builds the tag hierarchy for the project.
Definition: BlamProject.cpp:128
BlamStrings::Resources::ProjectInfo
Namespace containing functions used to work with Blam Project Information files.
Definition: project_info.h:79
BlamProjectInfo::engine_settings_data::default_cache
std::string default_cache
Definition: project_info.h:66
BlamProject::hierarchy_root
BlamTagTreeNode * hierarchy_root
The root node for the project's tag hierarchy.
Definition: projects.h:82
plugins
std::vector< BlamPlugin * > plugins
The list of loaded plugins.
Definition: plugins.cpp:9
BlamTagTreeNode::~BlamTagTreeNode
~BlamTagTreeNode()
Destroys a tag tree node.
Definition: BlamTagTreeNode.cpp:74
Guerilla::Tags::GetPluginList
GUERILLA_LIB_API std::vector< BlamPlugin * > GetPluginList()
Retrieves the list of loaded plugins.
Definition: plugins.cpp:132
BlamProjectInfo
Structure representing a Blam Project Information file.
Definition: project_info.h:33
BlamProjectInfo::game_info_data::version
std::string version
Definition: project_info.h:49
BlamTagTreeNode::is_folder
bool is_folder
Indicates whether the node represents a file. If this is false, then the node represents a file.
Definition: projects.h:37
BlamProjectInfo::game_info_data::icon
std::string icon
Definition: project_info.h:50
BlamProjectInfo::engine_settings_data
Definition: project_info.h:64
BlamTagTreeNode::project
BlamProject * project
The project this node belongs to.
Definition: projects.h:40
BlamProjectInfo::game_info_data::build_type
std::string build_type
Definition: project_info.h:48
BlamProject::project_root
std::string project_root
The root folder for the project.
Definition: projects.h:93
BlamProject::project_name
std::string project_name
The name of the project.
Definition: projects.h:92
BlamTagTreeNode::parent
BlamTagTreeNode * parent
The parent node of this node. If this item is the root node, then this will be nullptr.
Definition: projects.h:41
BlamProjectInfo::load_result
bool load_result
Definition: project_info.h:35
BlamTagTreeNode::hierarchy_path
std::string hierarchy_path
The path of this node within the hierarchy, ex: /levels/multi/forge_halo
Definition: projects.h:44
BlamProjectInfo::engine_settings_data::content_root
std::string content_root
Definition: project_info.h:70
projects.h
BlamProjectInfo::game_info_data::website
std::string website
Definition: project_info.h:47
BlamProjectInfo::engine_settings_data::startup_movie
std::string startup_movie
Definition: project_info.h:68
PROJECT_FILE_EXTENSION
#define PROJECT_FILE_EXTENSION
Definition: projects.h:15
BlamProjectInfo::network_settings_data
Definition: project_info.h:55
BlamProjectInfo::game_info_data::title
std::string title
Definition: project_info.h:41
BlamTagTreeNode
Class representing a tag tree node.
Definition: projects.h:26
BlamProjectInfo::game_info_data::copyright
std::string copyright
Definition: project_info.h:46
BlamProjectInfo::format_version
int format_version
Definition: project_info.h:37
BlamProjectInfo::game_info_data::codename
std::string codename
Definition: project_info.h:42
BlamProjectInfo::file_path
std::string file_path
Definition: project_info.h:36
BlamProject::~BlamProject
~BlamProject()
Definition: BlamProject.cpp:123
BlamTagTreeNode::GetBulkNodeList
std::vector< BlamTagTreeNode * > GetBulkNodeList()
Definition: BlamTagTreeNode.cpp:141
BlamProjectInfo::network_settings_data::mods_info_url
std::string mods_info_url
Definition: project_info.h:58