Blamite Game Engine - blam!  00296.01.12.21.0102.blamite
The core library for the Blamite Game Engine.
Blam::EngineDefs Namespace Reference

Namespace containing core engine information. More...

Enumerations

enum  VersionStringDisplayMode { Default, Console, TextLog, CrashScreen }
 

Functions

BLAM std::string GetVersionBuildString (VersionStringDisplayMode display_mode)
 Retrieves the build string of the engine. More...
 
const BLAM char * GetVersion ()
 Retrieves the version of the engine in the following format: More...
 
const BLAM char * GetPlatform ()
 Retrieves the target platform of the engine. More...
 
const BLAM char * GetBuildDate ()
 Retrieves the build date of the engine, pulled directly from the __DATE__ macro. More...
 
const BLAM char * GetBuildTime ()
 Retrieves the build time of the engine, pulled directly from the __TIME__ macro. More...
 
BLAM std::string GetBuildDateTime ()
 Retrieves the build date and time of the engine, pulled directly from the __DATE__ and __TIME__ macros. More...
 
const BLAM char * GetProductID ()
 Retrieves the product ID of the engine. More...
 
const BLAM char * GetCacheDirectory ()
 Retrieves the directory from which to load game levels. More...
 
const BLAM char * GetBinkDirectory ()
 Retrieves the directory to read movies from. More...
 
const BLAM char * GetReleaseType ()
 Retrieves the release type of the engine. More...
 
BLAM bool DeveloperMode ()
 Retrieves whether or not development mode is enabled. More...
 
const BLAM char * GameTitle ()
 Retrieves the game title. More...
 
const BLAM char * GamePublisher ()
 Retrieves the game publisher. More...
 
const BLAM char * GameDeveloper ()
 Retrieves the game developer. More...
 
const BLAM char * GameAffiliates ()
 Retrieves the game affiliates string. More...
 
const BLAM char * GameCopyright ()
 Retrieves the game copyright string. More...
 

Detailed Description

Namespace containing core engine information.

Todo:
A lot of this file REALLY needs to be moved to something a bit more...configurable. We want this engine to be flexible and usable across a variety of projects, yet we have this hardcoded namespace of macros that control various shit that really ought to be in a project file or some shit.

Enumeration Type Documentation

◆ VersionStringDisplayMode

Enumerator
Default 
Console 
TextLog 
CrashScreen 

Function Documentation

◆ DeveloperMode()

bool Blam::EngineDefs::DeveloperMode ( )

Retrieves whether or not development mode is enabled.

Returns
Whether or not developer mode is enabled.

◆ GameAffiliates()

const char * Blam::EngineDefs::GameAffiliates ( )

Retrieves the game affiliates string.

This could be used to mention studios or groups affiliated with the development besides the main development studio.

Returns
The game affiliates string.

◆ GameCopyright()

const char * Blam::EngineDefs::GameCopyright ( )

Retrieves the game copyright string.

Returns
The game copyright text.

◆ GameDeveloper()

const char * Blam::EngineDefs::GameDeveloper ( )

Retrieves the game developer.

This should be used only for the primary development studio. For additional developers, use the Affiliates setting.

Returns
The game development studio who created the project.

◆ GamePublisher()

const char * Blam::EngineDefs::GamePublisher ( )

Retrieves the game publisher.

If the title is self-published, simply set this to the same value as the developer.

Returns
The game publisher.

◆ GameTitle()

const char * Blam::EngineDefs::GameTitle ( )

Retrieves the game title.

Returns
The game title.

◆ GetBinkDirectory()

const char * Blam::EngineDefs::GetBinkDirectory ( )

Retrieves the directory to read movies from.

Returns
The engine movies directory.
Todo:
Make this a configuration setting instead of a macro.

◆ GetBuildDate()

const char * Blam::EngineDefs::GetBuildDate ( )

Retrieves the build date of the engine, pulled directly from the __DATE__ macro.

Returns
The engine build date. Ex: Apr 14 2019

◆ GetBuildDateTime()

std::string Blam::EngineDefs::GetBuildDateTime ( )

Retrieves the build date and time of the engine, pulled directly from the __DATE__ and __TIME__ macros.

Returns
The engine build date/time. Ex: Apr 14 2019 18:35:12

◆ GetBuildTime()

const char * Blam::EngineDefs::GetBuildTime ( )

Retrieves the build time of the engine, pulled directly from the __TIME__ macro.

Returns
The engine build time. Ex: 18:35:12

◆ GetCacheDirectory()

const char * Blam::EngineDefs::GetCacheDirectory ( )

Retrieves the directory from which to load game levels.

Returns
The engine levels directory.
Todo:
Make this a configuration setting instead of a macro.

◆ GetPlatform()

const char * Blam::EngineDefs::GetPlatform ( )

Retrieves the target platform of the engine.

Returns
The engine target platform. Will probably always just be pc.

◆ GetProductID()

const char * Blam::EngineDefs::GetProductID ( )

Retrieves the product ID of the engine.

Returns
The engine product ID. Examples include: core, sapien

◆ GetReleaseType()

const char * Blam::EngineDefs::GetReleaseType ( )

Retrieves the release type of the engine.

Returns
The engine release type.

◆ GetVersion()

const char * Blam::EngineDefs::GetVersion ( )

Retrieves the version of the engine in the following format:

XXXXX.MM.DD.YY.ZZZZ.NNNNNNNNNNN

  • XXXXX - Build major version
  • MM.DD.YY - Version build date
  • ZZZZ - Build minor version
  • NNNNNNNNNNN - The build/project name.
Returns
The engine version.

◆ GetVersionBuildString()

std::string Blam::EngineDefs::GetVersionBuildString ( VersionStringDisplayMode  display_mode)

Retrieves the build string of the engine.

The build string will be in the following format:

sapien debug pc 11122.07.08.24.1808.main Aug 24 2007 18:10:16

<product> <rel type> <platform> <version> <build date> <build time>

Parameters
double_space- Whether or not to include a second space between some elements of the string. This was added due to some quirks of how the version was written to log files in Halo 2 Sapien.
Returns
The build string.