Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
about_blamite.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 #include <Strings/components/utils/web/web.h>
6 
9 
37 {
38 protected:
39  bool show_release_history = false;
40 
41 public:
45  void Draw()
46  {
47  // About Blamite
48  if (show)
49  {
51  ImGui::Text("Engine version: %s", Blam::EngineDefs::GetVersion());
52  ImGui::Text("UI version: %s", InternalUI::GetVersion());
54  ImGui::Text("Created by Elaztek Studios");
56  ImGui::Text("The Blamite engine was coded by hand to mimic the Blam engine.");
57  ImGui::Text("Special thanks to the talented team behind Assembly and XboxChaos");
58  ImGui::Text("for laying the groundwork for the functionality of the engine.");
59  ImGui::Text("Shoutout to Bungie Studios and 343 Industries!");
61  ImGui::Text("Build date: %s", __DATE__);
62  ImGui::Text("Build time: %s", __TIME__);
64  if (ImGui::Button("Changelog"))
65  {
66  BlamStrings::Utils::Web::OpenWebURL("https://elaztek.com/blogs/blog/4-blam-update-notes/");
67  }
69  if (ImGui::Button("Release History (no longer updated)"))
70  {
71  show_release_history = true;
72  }
73  ImGui::End();
74  }
75 
76 
77  // Engine Revision History
79  {
82  ImGui::Text("This version: %s", Blam::EngineDefs::GetVersion());
83 
85  ImGui::Text("The information here is inaccurate and no longer being updated. Please\r\nrefer to the Elaztek Website or the Blamite Gitlab repository for the current changelog.");
87 
89  //10000.10.16.16.0001.blamite
90  if (ImGui::CollapsingHeader("10000.10.16.16.0001.blamite"))
91  {
92  ImGui::Text("Game Title: N/A");
93  ImGui::Text("Contributors: haloman30");
94 
95  static bool read_only = true;
96  static char text[1024 * 16] =
97  "This is the inception of the engine. It introduced DirectX 11 rendering,"
98  "\nand the ImGUI debugging UI system. This build is present in current"
99  "\nengine builds under the name blam-ui-window-dx11-demo";
100 
102  //ImGui::Checkbox("Read-only", &read_only);
105 
106  }
107  //00001.10.17.16.0001.blamite
108  if (ImGui::CollapsingHeader("00001.10.17.16.0001.blamite"))
109  {
110  ImGui::Text("Game Title: N/A");
111  ImGui::Text("Contributors: haloman30");
112 
113  static bool read_only = true;
114  static char text[1024 * 16] =
115  "This version includes various attempts at screenshot functions, and"
116  "\nmarked the point where the legacy DirectX SDK was retired in favor"
117  "\nof the updated DirectX Toolkit (DirectXTK).";
118 
120  //ImGui::Checkbox("Read-only", &read_only);
123 
124  }
125  //00001.10.04.17.0001.blamite
126  if (ImGui::CollapsingHeader("00001.10.04.17.0001.blamite"))
127  {
128  ImGui::Text("Game Title: N/A");
129  ImGui::Text("Contributors: haloman30");
130 
131  static bool read_only = true;
132  static char text[1024 * 16] =
133  "This version marks real feature additions to the engine. Screenshots"
134  "\nwere now being properly taken/saved, and an 'Open Game Dir' function"
135  "\nwas introduced.";
136 
138  //ImGui::Checkbox("Read-only", &read_only);
141 
142  }
143  //00002.02.25.18.0001.blamite
144  if (ImGui::CollapsingHeader("00002.02.25.18.0001.blamite"))
145  {
146  ImGui::Text("Game Title: N/A");
147  ImGui::Text("Contributors: haloman30");
148 
149  static bool read_only = true;
150  static char text[1024 * 16] =
151  "This version introduces the console, as well as several commands, as well"
152  "\nas adds a work-in-progress stats view. It also tests shadowed text by"
153  "\nre-drawing the same content twice (hacky but it works).";
154 
156  //ImGui::Checkbox("Read-only", &read_only);
159 
160  }
161  //00003.04.29.18.0001.blamite
162  if (ImGui::CollapsingHeader("00003.04.29.18.0001.blamite"))
163  {
164  ImGui::Text("Game Title: N/A");
165  ImGui::Text("Contributors: haloman30, AwakenedRage");
166 
167  static bool read_only = true;
168  static char text[1024 * 16] =
169  "This version introduces support for CSC and HSC. It focuses primarily"
170  "\non command-based scripting. It also introduces BlamPhyLib and"
171  "\nBlamMathLib, both of which are preperations for a basic phyiscs engine."
172  "\nIt also introduced a special crash screen that are displayed on asserts.";
173 
175  //ImGui::Checkbox("Read-only", &read_only);
178  }
179 
180  /*if (ImGui::CollapsingHeader("PLACEHOLDER"))
181  {
182  ImGui::Text("Game Title: {enter game title here}");
183  ImGui::Text("Contributors: {enter contributing people/groups/studios here}");
184 
185  static bool read_only = true;
186  static char text[1024 * 16] =
187  "This box is meant to hold any notable information about this release build."
188  "\nIt can specify any major overhauls, additions, or anything else noteworthy"
189  "\nin this release from the previous.";
190 
191  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
192  //ImGui::Checkbox("Read-only", &read_only);
193  ImGui::PopStyleVar();
194  ImGui::InputTextMultiline("##source", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
195 
196  }*/
197  ImGui::End();
198  }
199  }
200 };
ImGuiInputTextFlags_ReadOnly
@ ImGuiInputTextFlags_ReadOnly
Definition: imgui.h:769
BlamImGuiWindow::show
bool show
Controls whether or not the group should be shown. May not be used in all groups.
Definition: imgui.h:34
ImGui::PopStyleColor
IMGUI_API void PopStyleColor(int count=1)
Definition: imgui.cpp:6341
ImVec4
Definition: imgui.h:192
ImGui::GetTextLineHeight
IMGUI_API float GetTextLineHeight()
Definition: imgui.cpp:6837
ImGui::End
IMGUI_API void End()
Definition: imgui.cpp:6016
ImGui::PopStyleVar
IMGUI_API void PopStyleVar(int count=1)
Definition: imgui.cpp:6423
InternalUI::GetVersion
const UI_API char * GetVersion()
Legacy function to retrieve the "UI version".
Definition: engine_definitions.cpp:145
ImGui::SameLine
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
Definition: imgui.cpp:7147
ImGuiStyleVar_FramePadding
@ ImGuiStyleVar_FramePadding
Definition: imgui.h:1102
BlamImGuiWindow
Class representing an ImGUI window.
Definition: imgui.h:31
ImVec2
Definition: imgui.h:179
ImGui::Begin
IMGUI_API bool Begin(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
Definition: imgui.cpp:5397
ImGui::PushStyleVar
IMGUI_API void PushStyleVar(ImGuiStyleVar idx, float val)
Definition: imgui.cpp:6395
ImGui::CollapsingHeader
IMGUI_API bool CollapsingHeader(const char *label, ImGuiTreeNodeFlags flags=0)
Definition: imgui_widgets.cpp:5422
BlamImGuiWindow_AboutBlamite::show_release_history
bool show_release_history
Toggles the release history window.
Definition: about_blamite.hpp:39
ImGui::Text
IMGUI_API void Text(const char *fmt,...) IM_FMTARGS(1)
Definition: imgui_widgets.cpp:238
Blam::EngineDefs::GetVersion
const BLAM char * GetVersion()
Retrieves the version of the engine in the following format:
Definition: engine_definitions.cpp:150
BlamImGuiWindow_AboutBlamite
Class for the legacy ImGUI-based About box.
Definition: about_blamite.hpp:36
BlamImGuiWindow_AboutBlamite::Draw
void Draw()
Draws the About window.
Definition: about_blamite.hpp:45
ImGui::SetNextWindowSize
IMGUI_API void SetNextWindowSize(const ImVec2 &size, ImGuiCond cond=0)
Definition: imgui.cpp:6741
ImGuiInputTextFlags_AllowTabInput
@ ImGuiInputTextFlags_AllowTabInput
Definition: imgui.h:765
utilities.h
IM_ARRAYSIZE
#define IM_ARRAYSIZE(_ARR)
Definition: imgui.h:75
ImGui::InputTextMultiline
IMGUI_API bool InputTextMultiline(const char *label, char *buf, size_t buf_size, const ImVec2 &size=ImVec2(0, 0), ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
Definition: imgui_widgets.cpp:3074
engine_definitions.h
ImGuiWindowFlags_AlwaysAutoResize
@ ImGuiWindowFlags_AlwaysAutoResize
Definition: imgui.h:720
ImGuiCol_Text
@ ImGuiCol_Text
Definition: imgui.h:1027
Blam::API::v1::HS::OpenWebURL
void OpenWebURL(std::string url)
Definition: hs.cpp:114
imgui.h
ImGui::Separator
IMGUI_API void Separator()
Definition: imgui_widgets.cpp:1284
ImGuiWindowFlags_NoResize
@ ImGuiWindowFlags_NoResize
Definition: imgui.h:715
ImGui::Button
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0))
Definition: imgui_widgets.cpp:644
ImGui::PushStyleColor
IMGUI_API void PushStyleColor(ImGuiCol idx, ImU32 col)
Definition: imgui.cpp:6321