Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
engine_definitions.h File Reference
#include <string>
+ Include dependency graph for engine_definitions.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Blam
 Namespace surrounding all major engine components.
 
 Blam::EngineDefs
 Namespace containing core engine information.
 
 InternalUI
 Namespace containing things for the engine's "internal UI", which is powered through ImGUI.
 

Macros

#define UI_VERSION   "10010.02.27.18.0001.blamite"
 
#define ENGINE_VERSION_MANUAL   "00006.09.30.19.0001.blamite"
 
#define PRODUCT_ID_INTERNAL   "core"
 
#define CACHE_DIRECTORY   "maps"
 
#define MOVIES_DIRECTORY   "bink"
 
#define PLATFORM   "pc"
 
#define DEV_MODE   true
 
#define REL_TYPE   "debug"
 
#define GAME_TITLE   "Project: Infinity"
 
#define GAME_PUBLISHER   "Elaztek Studios"
 
#define GAME_DEVELOPER   "Elaztek Studios"
 
#define GAME_AFFILIATES   "Chaotic United, Elaztek Studios"
 
#define COPYRIGHT   "(c) Elaztek Studios/Chaotic United 2013-2019" /*was just 2016*/
 
#define BLAM
 
#define UI_API
 

Enumerations

enum  BlamRuntimeConfiguration {
  BlamRuntimeConfiguration::CacheRelease, BlamRuntimeConfiguration::CacheDebug, BlamRuntimeConfiguration::TagDebug, BlamRuntimeConfiguration::CacheTest,
  BlamRuntimeConfiguration::TagTest, BlamRuntimeConfiguration::Unspecified
}
 Enumerator listing possible engine runtime configurations. More...
 
enum  BlamContentSource { BlamContentSource::Tags, BlamContentSource::Cache }
 Enumerator listing possible content sources. More...
 
enum  BlamVersionStringDisplayMode { BlamVersionStringDisplayMode::Default, BlamVersionStringDisplayMode::Console, BlamVersionStringDisplayMode::TextLog, BlamVersionStringDisplayMode::CrashScreen }
 Enumerator listing possible display modes for the Blamite build string. More...
 

Functions

BLAM BlamRuntimeConfiguration Blam::GetCurrentRuntimeConfig ()
 Retrieves the current runtime configuration. More...
 
BLAM BlamContentSource Blam::GetContentSource ()
 Retrieves the current content source. More...
 
BLAM std::string Blam::EngineDefs::GetVersionBuildString (BlamVersionStringDisplayMode display_mode)
 Retrieves the build string of the engine. More...
 
const BLAM char * Blam::EngineDefs::GetVersion ()
 Retrieves the version of the engine in the following format: More...
 
const BLAM char * Blam::EngineDefs::GetPlatform ()
 Retrieves the target platform of the engine. More...
 
const BLAM char * Blam::EngineDefs::GetBuildDate ()
 Retrieves the build date of the engine, pulled directly from the __DATE__ macro. More...
 
const BLAM char * Blam::EngineDefs::GetBuildTime ()
 Retrieves the build time of the engine, pulled directly from the __TIME__ macro. More...
 
BLAM std::string Blam::EngineDefs::GetBuildDateTime ()
 Retrieves the build date and time of the engine, pulled directly from the __DATE__ and __TIME__ macros. More...
 
const BLAM char * Blam::EngineDefs::GetProductID ()
 Retrieves the product ID of the engine. More...
 
const BLAM char * Blam::EngineDefs::GetCacheDirectory ()
 Retrieves the directory from which to load game levels. More...
 
const BLAM char * Blam::EngineDefs::GetBinkDirectory ()
 Retrieves the directory to read movies from. More...
 
const BLAM char * Blam::EngineDefs::GetReleaseType ()
 Retrieves the release type of the engine. More...
 
BLAM bool Blam::EngineDefs::DeveloperMode ()
 Retrieves whether or not development mode is enabled. More...
 
const BLAM char * Blam::EngineDefs::GameTitle ()
 Retrieves the game title. More...
 
const BLAM char * Blam::EngineDefs::GamePublisher ()
 Retrieves the game publisher. More...
 
const BLAM char * Blam::EngineDefs::GameDeveloper ()
 Retrieves the game developer. More...
 
const BLAM char * Blam::EngineDefs::GameAffiliates ()
 Retrieves the game affiliates string. More...
 
const BLAM char * Blam::EngineDefs::GameCopyright ()
 Retrieves the game copyright string. More...
 
const UI_API char * InternalUI::GetVersion ()
 Legacy function to retrieve the "UI version". More...
 

Macro Definition Documentation

◆ BLAM

#define BLAM

◆ CACHE_DIRECTORY

#define CACHE_DIRECTORY   "maps"

◆ COPYRIGHT

#define COPYRIGHT   "(c) Elaztek Studios/Chaotic United 2013-2019" /*was just 2016*/

◆ DEV_MODE

#define DEV_MODE   true

◆ ENGINE_VERSION_MANUAL

#define ENGINE_VERSION_MANUAL   "00006.09.30.19.0001.blamite"

◆ GAME_AFFILIATES

#define GAME_AFFILIATES   "Chaotic United, Elaztek Studios"

◆ GAME_DEVELOPER

#define GAME_DEVELOPER   "Elaztek Studios"

◆ GAME_PUBLISHER

#define GAME_PUBLISHER   "Elaztek Studios"

◆ GAME_TITLE

#define GAME_TITLE   "Project: Infinity"

◆ MOVIES_DIRECTORY

#define MOVIES_DIRECTORY   "bink"

◆ PLATFORM

#define PLATFORM   "pc"

◆ PRODUCT_ID_INTERNAL

#define PRODUCT_ID_INTERNAL   "core"

◆ REL_TYPE

#define REL_TYPE   "debug"

◆ UI_API

#define UI_API

◆ UI_VERSION

#define UI_VERSION   "10010.02.27.18.0001.blamite"

Enumeration Type Documentation

◆ BlamContentSource

enum BlamContentSource
strong

Enumerator listing possible content sources.

Determined by BlamRuntimeConfiguration.

Enumerator
Tags 

The engine will load all content from tags.

Cache 

The engine will load all content from cache files.

◆ BlamRuntimeConfiguration

Enumerator listing possible engine runtime configurations.

This value is effectively set at compile-time, and is used to enable/disable certain features.

Enumerator
CacheRelease 

Indicates the engine was built with the 'Cache Release' configuration.

This configuration should have no debug or development tools enabled by default. The console and debug menu can be enabled using command-line switches, however most debugging functions are disabled.

CacheDebug 

Indicates the engine was built with the 'Cache Debug' configuration.

In this configuration, the engine is compiled with all in-engine debug tools enabled. The engine will not acknowledge loose tag files, but will instead operate using Cache files, like Release.

TagDebug 

Indicates the engine was built with the 'Tag Debug' configuration.

In this configuration, the engine is compiled with all engine debug tools enabled. The engine will operate using loose tag files, and will not attempt to read cache files.

CacheTest 

Indicates the engine was built with the 'Cache Test' configuration.

In this configuration, the engine is built for release - but includes all in-engine debug tools. The engine will load content from cache files. This build is generally used for testing release-ready content.

TagTest 

Indicates the engine was built with the 'Tag Test' configuration.

In this configuration, the engine is built for release - but includes all in-engine debug tools. The engine will load content from loose tag files. This build is intended for creating content using the Editing Kit, but not for any development with the game engine itself.

Unspecified 

A fallback configuration that is returned in the event that no configuration is properly set.

If this happens, then an error occurred during compilation or the build configuration is incorrect.

◆ BlamVersionStringDisplayMode

Enumerator listing possible display modes for the Blamite build string.

In the Halo engine, the build version displays slightly differently depending on where it's being displayed. This enum is used to replicate that display style where appropriate.

In any other contexts besides the specific cases listed here (or ones that appear elsewhere in the Halo engine), you should just use Default.

Enumerator
Default 

Indicates the build string should use the default format.

Console 

Indicates the build string should be formatted for the in-game console.

TextLog 

Indicates the build string should be formatted for plain text log files.

CrashScreen 

Indicates the build string should be formatted for the crash screen.