Blamite Game Engine - blam!  00272.10.26.20.0001.blamite
The core library for the Blamite Game Engine.
about_blamite.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../../debug_ui.h"
4 
5 #include <Strings/components/utils/utilities.h>
6 
9 
10 namespace Blam::DebugUI::Windows
11 {
39  {
40  protected:
41  bool show_release_history = false;
42 
43  public:
48 
53 
57  void Draw()
58  {
59  // About Blamite
60  if (show)
61  {
62  ImGui::Begin("About Blamite", &show, ImGuiWindowFlags_AlwaysAutoResize);
63  ImGui::Text("Engine version: %s", Blam::EngineDefs::GetVersion());
64  ImGui::Text("UI version: %s", InternalUI::GetVersion());
65  ImGui::Separator();
66  ImGui::Text("Created by Elaztek Studios");
67  ImGui::Separator();
68  ImGui::Text("The Blamite engine was coded by hand to mimic the Blam engine.");
69  ImGui::Text("Special thanks to the talented team behind Assembly and XboxChaos");
70  ImGui::Text("for laying the groundwork for the functionality of the engine.");
71  ImGui::Text("Shoutout to Bungie Studios and 343 Industries!");
72  ImGui::Separator();
73  ImGui::Text("Build date: %s", __DATE__);
74  ImGui::Text("Build time: %s", __TIME__);
75  ImGui::Separator();
76  if (ImGui::Button("Changelog"))
77  {
78  BlamStrings::Utils::OpenWebURL("https://elaztek.com/blogs/blog/4-blam-update-notes/");
79  }
80  ImGui::SameLine();
81  if (ImGui::Button("Release History (no longer updated)"))
82  {
83  show_release_history = true;
84  }
85  ImGui::End();
86  }
87 
88 
89  // Engine Revision History
91  {
92  ImGui::SetNextWindowSize(ImVec2(700, 500));
93  ImGui::Begin("Release History", &show_release_history, ImGuiWindowFlags_NoResize);
94  ImGui::Text("This version: %s", Blam::EngineDefs::GetVersion());
95 
96  ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1, 0, 0, 1));
97  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.");
98  ImGui::PopStyleColor();
99 
100  ImGui::Separator();
101  //10000.10.16.16.0001.blamite
102  if (ImGui::CollapsingHeader("10000.10.16.16.0001.blamite"))
103  {
104  ImGui::Text("Game Title: N/A");
105  ImGui::Text("Contributors: haloman30");
106 
107  static bool read_only = true;
108  static char text[1024 * 16] =
109  "This is the inception of the engine. It introduced DirectX 11 rendering,"
110  "\nand the ImGUI debugging UI system. This build is present in current"
111  "\nengine builds under the name blam-ui-window-dx11-demo";
112 
113  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
114  //ImGui::Checkbox("Read-only", &read_only);
115  ImGui::PopStyleVar();
116  ImGui::InputTextMultiline("##source1", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
117 
118  }
119  //00001.10.17.16.0001.blamite
120  if (ImGui::CollapsingHeader("00001.10.17.16.0001.blamite"))
121  {
122  ImGui::Text("Game Title: N/A");
123  ImGui::Text("Contributors: haloman30");
124 
125  static bool read_only = true;
126  static char text[1024 * 16] =
127  "This version includes various attempts at screenshot functions, and"
128  "\nmarked the point where the legacy DirectX SDK was retired in favor"
129  "\nof the updated DirectX Toolkit (DirectXTK).";
130 
131  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
132  //ImGui::Checkbox("Read-only", &read_only);
133  ImGui::PopStyleVar();
134  ImGui::InputTextMultiline("##source2", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
135 
136  }
137  //00001.10.04.17.0001.blamite
138  if (ImGui::CollapsingHeader("00001.10.04.17.0001.blamite"))
139  {
140  ImGui::Text("Game Title: N/A");
141  ImGui::Text("Contributors: haloman30");
142 
143  static bool read_only = true;
144  static char text[1024 * 16] =
145  "This version marks real feature additions to the engine. Screenshots"
146  "\nwere now being properly taken/saved, and an 'Open Game Dir' function"
147  "\nwas introduced.";
148 
149  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
150  //ImGui::Checkbox("Read-only", &read_only);
151  ImGui::PopStyleVar();
152  ImGui::InputTextMultiline("##source3", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
153 
154  }
155  //00002.02.25.18.0001.blamite
156  if (ImGui::CollapsingHeader("00002.02.25.18.0001.blamite"))
157  {
158  ImGui::Text("Game Title: N/A");
159  ImGui::Text("Contributors: haloman30");
160 
161  static bool read_only = true;
162  static char text[1024 * 16] =
163  "This version introduces the console, as well as several commands, as well"
164  "\nas adds a work-in-progress stats view. It also tests shadowed text by"
165  "\nre-drawing the same content twice (hacky but it works).";
166 
167  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
168  //ImGui::Checkbox("Read-only", &read_only);
169  ImGui::PopStyleVar();
170  ImGui::InputTextMultiline("##source4", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
171 
172  }
173  //00003.04.29.18.0001.blamite
174  if (ImGui::CollapsingHeader("00003.04.29.18.0001.blamite"))
175  {
176  ImGui::Text("Game Title: N/A");
177  ImGui::Text("Contributors: haloman30, AwakenedRage");
178 
179  static bool read_only = true;
180  static char text[1024 * 16] =
181  "This version introduces support for CSC and HSC. It focuses primarily"
182  "\non command-based scripting. It also introduces BlamPhyLib and"
183  "\nBlamMathLib, both of which are preperations for a basic phyiscs engine."
184  "\nIt also introduced a special crash screen that are displayed on asserts.";
185 
186  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
187  //ImGui::Checkbox("Read-only", &read_only);
188  ImGui::PopStyleVar();
189  ImGui::InputTextMultiline("##source5", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
190 
191  }
192 
193 
194 
195 
196  /*if (ImGui::CollapsingHeader("PLACEHOLDER"))
197  {
198  ImGui::Text("Game Title: {enter game title here}");
199  ImGui::Text("Contributors: {enter contributing people/groups/studios here}");
200 
201  static bool read_only = true;
202  static char text[1024 * 16] =
203  "This box is meant to hold any notable information about this release build."
204  "\nIt can specify any major overhauls, additions, or anything else noteworthy"
205  "\nin this release from the previous.";
206 
207  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
208  //ImGui::Checkbox("Read-only", &read_only);
209  ImGui::PopStyleVar();
210  ImGui::InputTextMultiline("##source", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
211 
212  }*/
213  ImGui::End();
214  }
215  }
216  };
217 }
Blam::DebugUI::Windows::AboutBlamite::show_release_history
bool show_release_history
Toggles the release history window.
Definition: about_blamite.hpp:41
InternalUI::GetVersion
const UI_API char * GetVersion()
Legacy function to retrieve the "UI version".
Definition: engine_definitions.cpp:103
Blam::DebugUI::Windows::AboutBlamite
Class for the legacy ImGUI-based About box.
Definition: about_blamite.hpp:38
Blam::EngineDefs::GetVersion
const BLAM char * GetVersion()
Retrieves the version of the engine in the following format:
Definition: engine_definitions.cpp:108
Blam::DebugUI::ImGUIDrawingGroup::show
bool show
Controls whether or not the group should be shown. May not be used in all groups.
Definition: debug_ui.h:442
Blam::DebugUI::Windows::AboutBlamite::Draw
void Draw()
Draws the About window.
Definition: about_blamite.hpp:57
Blam::DebugUI::ImGUIDrawingGroup
Class representing an ImGUI drawing group/draw list item.
Definition: debug_ui.h:409
utilities.h
engine_definitions.h
Blam::DebugUI::Windows::AboutBlamite::~AboutBlamite
~AboutBlamite()
Empty destructor.
Definition: about_blamite.hpp:52
Blam::DebugUI::Windows::AboutBlamite::AboutBlamite
AboutBlamite()
Empty constructor.
Definition: about_blamite.hpp:47
Blam::DebugUI::Windows
Legacy namespace to contain data for the legacy ImGUI console.
Definition: debug_ui.h:494
Text
@ Text
Master text object that wraps around both BitmapText and DWText.
Definition: render_stack.h:73