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