Blamite Game Engine - blam!  00296.01.12.21.0102.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 
83 namespace Blam
84 {
93  namespace EngineDefs
94  {
96  {
101  };
102 
116  BLAM std::string GetVersionBuildString(VersionStringDisplayMode display_mode);
117 
119  // Core Configurations //
121 
133  BLAM const char* GetVersion();
134 
140  BLAM const char* GetPlatform();
141 
147  BLAM const char* GetBuildDate();
148 
154  BLAM const char* GetBuildTime();
155 
161  BLAM std::string GetBuildDateTime();
162 
168  BLAM const char* GetProductID(); //Gets the product ID
169 
171  // Engine Settings //
173 
181  BLAM const char* GetCacheDirectory();
182 
190  BLAM const char* GetBinkDirectory(); //Gets the bink/movies directory
191 
197  BLAM const char* GetReleaseType(); //Gets the release type of the engine
198 
204  BLAM bool DeveloperMode();
205 
207  // Various Release Settings //
209 
215  BLAM const char* GameTitle(); //Returns the public game title
216 
223  BLAM const char* GamePublisher(); //Returns the publisher of the game
224 
231  BLAM const char* GameDeveloper(); //Returns the developer of the game
232 
239  BLAM const char* GameAffiliates(); //Returns the game affiliates
240 
246  BLAM const char* GameCopyright(); //Returns the game copyright string
247  }
248 }
249 
250 namespace InternalUI
251 {
253  // Settings and Strings //
255 
269  UI_API const char* GetVersion(); //This function returns the version of the UI (not the ImGui version)
270 }
Blam
Namespace surrounding all major engine components.
Definition: blam_api.h:18
Blam::EngineDefs::GetBuildTime
const BLAM char * GetBuildTime()
Retrieves the build time of the engine, pulled directly from the __TIME__ macro.
Definition: engine_definitions.cpp:123
Blam::EngineDefs::VersionStringDisplayMode
VersionStringDisplayMode
Definition: engine_definitions.h:95
Blam::EngineDefs::TextLog
@ TextLog
Definition: engine_definitions.h:99
Blam::EngineDefs::CrashScreen
@ CrashScreen
Definition: engine_definitions.h:100
InternalUI::GetVersion
const UI_API char * GetVersion()
Legacy function to retrieve the "UI version".
Definition: engine_definitions.cpp:103
Blam::EngineDefs::DeveloperMode
BLAM bool DeveloperMode()
Retrieves whether or not development mode is enabled.
Definition: engine_definitions.cpp:159
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:144
Blam::EngineDefs::GetBinkDirectory
const BLAM char * GetBinkDirectory()
Retrieves the directory to read movies from.
Definition: engine_definitions.cpp:149
Blam::EngineDefs::GetPlatform
const BLAM char * GetPlatform()
Retrieves the target platform of the engine.
Definition: engine_definitions.cpp:138
BLAM
#define BLAM
Definition: engine_definitions.h:76
Blam::EngineDefs::Default
@ Default
Definition: engine_definitions.h:97
Blam::EngineDefs::GameAffiliates
const BLAM char * GameAffiliates()
Retrieves the game affiliates string.
Definition: engine_definitions.cpp:190
Blam::EngineDefs::GetVersion
const BLAM char * GetVersion()
Retrieves the version of the engine in the following format:
Definition: engine_definitions.cpp:108
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:128
Blam::EngineDefs::GameDeveloper
const BLAM char * GameDeveloper()
Retrieves the game developer.
Definition: engine_definitions.cpp:185
Blam::EngineDefs::GetProductID
const BLAM char * GetProductID()
Retrieves the product ID of the engine.
Definition: engine_definitions.cpp:113
Blam::EngineDefs::GetVersionBuildString
BLAM std::string GetVersionBuildString(VersionStringDisplayMode display_mode)
Retrieves the build string of the engine.
Definition: engine_definitions.cpp:11
InternalUI
Namespace containing things for the engine's "internal UI", which is powered through ImGUI.
Definition: debug_menu.h:18
Blam::EngineDefs::GetBuildDate
const BLAM char * GetBuildDate()
Retrieves the build date of the engine, pulled directly from the __DATE__ macro.
Definition: engine_definitions.cpp:118
Blam::EngineDefs::GameTitle
const BLAM char * GameTitle()
Retrieves the game title.
Definition: engine_definitions.cpp:175
Blam::EngineDefs::GameCopyright
const BLAM char * GameCopyright()
Retrieves the game copyright string.
Definition: engine_definitions.cpp:195
Blam::EngineDefs::GetReleaseType
const BLAM char * GetReleaseType()
Retrieves the release type of the engine.
Definition: engine_definitions.cpp:154
Blam::EngineDefs::Console
@ Console
Definition: engine_definitions.h:98
Blam::EngineDefs::GamePublisher
const BLAM char * GamePublisher()
Retrieves the game publisher.
Definition: engine_definitions.cpp:180