Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
engine_definitions.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 //Configurations
6 #define UI_VERSION "10010.02.27.18.0001.blamite" //10010.12.31.16.0001.blamite, 00001.10.17.16.0001.blamite
7 #define ENGINE_VERSION_MANUAL "00006.09.30.19.0001.blamite" //00005.09.19.19.0001.blamite, 00004.05.13.19.0001.blamite, 00003.03.29.18.0001.blamite, 00003.03.29.18.0001.blamite, 00002.02.25.18.0001.blamite, 00001.10.17.16.0001.blamite, 00001.10.17.16.0001.blamite, 00001.10.04.17.0001.blamite
8 #define PRODUCT_ID_INTERNAL "core" //core, blam, sapien, halo, halo2, halo3, infinity, etc. you get the point. used in version cmd
9 //#define BUILD_DATE "Feb 25 2018" //Ex: Aug 24 2007 <-- use this format
10 #define CACHE_DIRECTORY "maps"
11 #define MOVIES_DIRECTORY "bink"
12 #define PLATFORM "pc"
13 #define DEV_MODE true
14 
15 #ifdef _NDEBUG
16 #define REL_TYPE "release"
17 #else
18 #define REL_TYPE "debug"
19 #endif
20 // The Halo 2 Alpha revealed that REL_TYPE can also be alpha, beta, or other such things.
21 
23 // BLAMITE VERSIONING GUIDELINES //
25 // XXXXX.MM.DD.YY.ZZZZ.NNNNNNNNNNN //
27 
28 /*
29 ╔═════════════════════════════════╗
30 ║ BLAMITE VERSIONING GUIDELINES ║
31 ╠═════════════════════════════════╣
32 ║ XXXXX ║
33 ╟─────────────────────────────────╢
34 ║ This should be replaced with ║
35 ║ the build major version. ║
36 ╠═════════════════════════════════╣
37 ║ MM.DD.YY ║
38 ╟─────────────────────────────────╢
39 ║ This refers to the date that ║
40 ║ the build was created: ║
41 ║ Month.Day.Year format. ║
42 ╠═════════════════════════════════╣
43 ║ ZZZZ ║
44 ╟─────────────────────────────────╢
45 ║ This should be replaced with ║
46 ║ the build minor number. ║
47 ╠═════════════════════════════════╣
48 ║ NNNNNNNNNNN ║
49 ╟─────────────────────────────────╢
50 ║ This should be replaced with ║
51 ║ the build's actual name. ║
52 ╚═════════════════════════════════╝
53 */
54 
55 /* box drawing characters
56 
57 ─ ━ │ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ ┌ ┍ ┎ ┏
58 ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛ ├ ┝ ┞ ┟
59 ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭ ┮ ┯
60 ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻ ┼ ┽ ┾ ┿
61 ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋ ╌ ╍ ╎ ╏
62 ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟
63 ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ ╭ ╮ ╯
64 ╰ ╱ ╲ ╳ ╴ ╵ ╶ ╷ ╸ ╹ ╺ ╻ ╼ ╽ ╾ ╿
65 
66 */
67 
68 
69 #define GAME_TITLE "Project: Infinity"
70 #define GAME_PUBLISHER "Elaztek Studios"
71 #define GAME_DEVELOPER "Elaztek Studios"
72 #define GAME_AFFILIATES "Chaotic United, Elaztek Studios"
73 #define COPYRIGHT "(c) Elaztek Studios/Chaotic United 2013-2019" /*was just 2016*/
74 
75 #ifndef BLAM
76 #define BLAM
77 #endif
78 
79 #ifndef UI_API
80 #define UI_API
81 #endif
82 
89 {
97 
104  CacheDebug,
105 
112  TagDebug,
113 
120  CacheTest,
121 
129  TagTest,
130 
137 };
138 
143 {
144  Tags,
145  Cache
146 };
147 
158 {
159  Default,
160  Console,
161  TextLog,
162  CrashScreen
163 };
164 
165 namespace Blam
166 {
176 
187 
196  namespace EngineDefs
197  {
211  BLAM std::string GetVersionBuildString(BlamVersionStringDisplayMode display_mode);
212 
214  // Core Configurations //
216 
228  BLAM const char* GetVersion();
229 
235  BLAM const char* GetPlatform();
236 
242  BLAM const char* GetBuildDate();
243 
249  BLAM const char* GetBuildTime();
250 
256  BLAM std::string GetBuildDateTime();
257 
263  BLAM const char* GetProductID(); //Gets the product ID
264 
266  // Engine Settings //
268 
276  BLAM const char* GetCacheDirectory();
277 
285  BLAM const char* GetBinkDirectory(); //Gets the bink/movies directory
286 
292  BLAM const char* GetReleaseType(); //Gets the release type of the engine
293 
299  BLAM bool DeveloperMode();
300 
302  // Various Release Settings //
304 
310  BLAM const char* GameTitle(); //Returns the public game title
311 
318  BLAM const char* GamePublisher(); //Returns the publisher of the game
319 
326  BLAM const char* GameDeveloper(); //Returns the developer of the game
327 
334  BLAM const char* GameAffiliates(); //Returns the game affiliates
335 
341  BLAM const char* GameCopyright(); //Returns the game copyright string
342  }
343 }
344 
345 namespace InternalUI
346 {
348  // Settings and Strings //
350 
364  UI_API const char* GetVersion(); //This function returns the version of the UI (not the ImGui version)
365 }
Blam
Namespace surrounding all major engine components.
Definition: blam_api.h:28
BlamVersionStringDisplayMode::Default
@ Default
Indicates the build string should use the default format.
GAME_DEVELOPER
#define GAME_DEVELOPER
Definition: engine_definitions.h:71
BlamContentSource::Cache
@ Cache
The engine will load all content from cache files.
Blam::EngineDefs::GetBuildTime
const BLAM char * GetBuildTime()
Retrieves the build time of the engine, pulled directly from the __TIME__ macro.
Definition: engine_definitions.cpp:165
PLATFORM
#define PLATFORM
Definition: engine_definitions.h:12
Blam::Logger::LogEvent
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:142
logger.h
BlamVersionStringDisplayMode::TextLog
@ TextLog
Indicates the build string should be formatted for plain text log files.
version
date New version
Definition: chiropteraDM.txt:50
BlamRuntimeConfiguration::Unspecified
@ Unspecified
A fallback configuration that is returned in the event that no configuration is properly set.
PRODUCT_ID_INTERNAL
#define PRODUCT_ID_INTERNAL
Definition: engine_definitions.h:8
version_data.h
REL_TYPE
#define REL_TYPE
Definition: engine_definitions.h:18
BlamRuntimeConfiguration::CacheTest
@ CacheTest
Indicates the engine was built with the 'Cache Test' configuration.
BlamContentSource
BlamContentSource
Enumerator listing possible content sources.
Definition: engine_definitions.h:142
BlamVersionStringDisplayMode::Console
@ Console
Indicates the build string should be formatted for the in-game console.
BlamTagFieldType::Unspecified
@ Unspecified
Indicates that the field's type is not specified. Fields with this type should be considered invalid.
InternalUI::GetVersion
const UI_API char * GetVersion()
Legacy function to retrieve the "UI version".
Definition: engine_definitions.cpp:145
Blam::EngineDefs::DeveloperMode
BLAM bool DeveloperMode()
Retrieves whether or not development mode is enabled.
Definition: engine_definitions.cpp:226
MOVIES_DIRECTORY
#define MOVIES_DIRECTORY
Definition: engine_definitions.h:11
UI_API
#define UI_API
Definition: engine_definitions.h:80
Blam::EngineDefs::GetCacheDirectory
const BLAM char * GetCacheDirectory()
Retrieves the directory from which to load game levels.
Definition: engine_definitions.cpp:186
Blam::EngineDefs::GetBinkDirectory
const BLAM char * GetBinkDirectory()
Retrieves the directory to read movies from.
Definition: engine_definitions.cpp:191
Blam::EngineDefs::GetVersionBuildString
BLAM std::string GetVersionBuildString(BlamVersionStringDisplayMode display_mode)
Retrieves the build string of the engine.
Definition: engine_definitions.cpp:53
Blam::EngineDefs::GetPlatform
const BLAM char * GetPlatform()
Retrieves the target platform of the engine.
Definition: engine_definitions.cpp:180
BlamRuntimeConfiguration::TagTest
@ TagTest
Indicates the engine was built with the 'Tag Test' configuration.
GAME_PUBLISHER
#define GAME_PUBLISHER
Definition: engine_definitions.h:70
BlamContentSource::Tags
@ Tags
The engine will load all content from tags.
ENGINE_VERSION
#define ENGINE_VERSION
Definition: version_data.h:31
BLAM
#define BLAM
Definition: engine_definitions.h:76
Blam::EngineDefs::GameAffiliates
const BLAM char * GameAffiliates()
Retrieves the game affiliates string.
Definition: engine_definitions.cpp:257
BlamRuntimeConfiguration::TagDebug
@ TagDebug
Indicates the engine was built with the 'Tag Debug' configuration.
Blam::EngineDefs::GetVersion
const BLAM char * GetVersion()
Retrieves the version of the engine in the following format:
Definition: engine_definitions.cpp:150
Blam::EngineDefs::GetBuildDateTime
BLAM std::string GetBuildDateTime()
Retrieves the build date and time of the engine, pulled directly from the __DATE__ and __TIME__ macro...
Definition: engine_definitions.cpp:170
BlamVersionStringDisplayMode::CrashScreen
@ CrashScreen
Indicates the build string should be formatted for the crash screen.
CACHE_DIRECTORY
#define CACHE_DIRECTORY
Definition: engine_definitions.h:10
UI_VERSION
#define UI_VERSION
Definition: engine_definitions.h:6
Blam::EngineDefs::GameDeveloper
const BLAM char * GameDeveloper()
Retrieves the game developer.
Definition: engine_definitions.cpp:252
Blam::EngineDefs::GetProductID
const BLAM char * GetProductID()
Retrieves the product ID of the engine.
Definition: engine_definitions.cpp:155
utilities.h
BlamRuntimeConfiguration::CacheRelease
@ CacheRelease
Indicates the engine was built with the 'Cache Release' configuration.
engine_definitions.h
BlamRuntimeConfiguration::CacheDebug
@ CacheDebug
Indicates the engine was built with the 'Cache Debug' configuration.
Blam::GetContentSource
BLAM BlamContentSource GetContentSource()
Retrieves the current content source.
Definition: engine_definitions.cpp:32
GAME_AFFILIATES
#define GAME_AFFILIATES
Definition: engine_definitions.h:72
InternalUI
Namespace containing things for the engine's "internal UI", which is powered through ImGUI.
Definition: debug_menu.h:18
GAME_TITLE
#define GAME_TITLE
Definition: engine_definitions.h:69
DEV_MODE
#define DEV_MODE
Definition: engine_definitions.h:13
COPYRIGHT
#define COPYRIGHT
Definition: engine_definitions.h:73
Blam::EngineDefs::GetBuildDate
const BLAM char * GetBuildDate()
Retrieves the build date of the engine, pulled directly from the __DATE__ macro.
Definition: engine_definitions.cpp:160
Blam::EngineDefs::GameTitle
const BLAM char * GameTitle()
Retrieves the game title.
Definition: engine_definitions.cpp:242
Blam::EngineDefs::GameCopyright
const BLAM char * GameCopyright()
Retrieves the game copyright string.
Definition: engine_definitions.cpp:262
Blam::GetCurrentRuntimeConfig
BLAM BlamRuntimeConfiguration GetCurrentRuntimeConfig()
Retrieves the current runtime configuration.
Definition: engine_definitions.cpp:11
BlamRuntimeConfiguration
BlamRuntimeConfiguration
Enumerator listing possible engine runtime configurations.
Definition: engine_definitions.h:88
Blam::EngineDefs::GetReleaseType
const BLAM char * GetReleaseType()
Retrieves the release type of the engine.
Definition: engine_definitions.cpp:196
Blam::EngineDefs::GamePublisher
const BLAM char * GamePublisher()
Retrieves the game publisher.
Definition: engine_definitions.cpp:247
BlamVersionStringDisplayMode
BlamVersionStringDisplayMode
Enumerator listing possible display modes for the Blamite build string.
Definition: engine_definitions.h:157