Elaztek Developer Hub
Blamite Game Engine - blam!  00346.12.11.21.0529.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:
47  void Draw()
48  {
49  // About Blamite
50  if (show)
51  {
53  ImGui::Text("Engine version: %s", Blam::EngineDefs::GetVersion());
54  ImGui::Text("UI version: %s", InternalUI::GetVersion());
56  ImGui::Text("Created by Elaztek Studios");
58  ImGui::Text("The Blamite engine was coded by hand to mimic the Blam engine.");
59  ImGui::Text("Special thanks to the talented team behind Assembly and XboxChaos");
60  ImGui::Text("for laying the groundwork for the functionality of the engine.");
61  ImGui::Text("Shoutout to Bungie Studios and 343 Industries!");
63  ImGui::Text("Build date: %s", __DATE__);
64  ImGui::Text("Build time: %s", __TIME__);
66  if (ImGui::Button("Changelog"))
67  {
68  BlamStrings::Utils::OpenWebURL("https://elaztek.com/blogs/blog/4-blam-update-notes/");
69  }
71  if (ImGui::Button("Release History (no longer updated)"))
72  {
73  show_release_history = true;
74  }
75  ImGui::End();
76  }
77 
78 
79  // Engine Revision History
81  {
84  ImGui::Text("This version: %s", Blam::EngineDefs::GetVersion());
85 
87  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.");
89 
91  //10000.10.16.16.0001.blamite
92  if (ImGui::CollapsingHeader("10000.10.16.16.0001.blamite"))
93  {
94  ImGui::Text("Game Title: N/A");
95  ImGui::Text("Contributors: haloman30");
96 
97  static bool read_only = true;
98  static char text[1024 * 16] =
99  "This is the inception of the engine. It introduced DirectX 11 rendering,"
100  "\nand the ImGUI debugging UI system. This build is present in current"
101  "\nengine builds under the name blam-ui-window-dx11-demo";
102 
104  //ImGui::Checkbox("Read-only", &read_only);
107 
108  }
109  //00001.10.17.16.0001.blamite
110  if (ImGui::CollapsingHeader("00001.10.17.16.0001.blamite"))
111  {
112  ImGui::Text("Game Title: N/A");
113  ImGui::Text("Contributors: haloman30");
114 
115  static bool read_only = true;
116  static char text[1024 * 16] =
117  "This version includes various attempts at screenshot functions, and"
118  "\nmarked the point where the legacy DirectX SDK was retired in favor"
119  "\nof the updated DirectX Toolkit (DirectXTK).";
120 
122  //ImGui::Checkbox("Read-only", &read_only);
125 
126  }
127  //00001.10.04.17.0001.blamite
128  if (ImGui::CollapsingHeader("00001.10.04.17.0001.blamite"))
129  {
130  ImGui::Text("Game Title: N/A");
131  ImGui::Text("Contributors: haloman30");
132 
133  static bool read_only = true;
134  static char text[1024 * 16] =
135  "This version marks real feature additions to the engine. Screenshots"
136  "\nwere now being properly taken/saved, and an 'Open Game Dir' function"
137  "\nwas introduced.";
138 
140  //ImGui::Checkbox("Read-only", &read_only);
143 
144  }
145  //00002.02.25.18.0001.blamite
146  if (ImGui::CollapsingHeader("00002.02.25.18.0001.blamite"))
147  {
148  ImGui::Text("Game Title: N/A");
149  ImGui::Text("Contributors: haloman30");
150 
151  static bool read_only = true;
152  static char text[1024 * 16] =
153  "This version introduces the console, as well as several commands, as well"
154  "\nas adds a work-in-progress stats view. It also tests shadowed text by"
155  "\nre-drawing the same content twice (hacky but it works).";
156 
158  //ImGui::Checkbox("Read-only", &read_only);
161 
162  }
163  //00003.04.29.18.0001.blamite
164  if (ImGui::CollapsingHeader("00003.04.29.18.0001.blamite"))
165  {
166  ImGui::Text("Game Title: N/A");
167  ImGui::Text("Contributors: haloman30, AwakenedRage");
168 
169  static bool read_only = true;
170  static char text[1024 * 16] =
171  "This version introduces support for CSC and HSC. It focuses primarily"
172  "\non command-based scripting. It also introduces BlamPhyLib and"
173  "\nBlamMathLib, both of which are preperations for a basic phyiscs engine."
174  "\nIt also introduced a special crash screen that are displayed on asserts.";
175 
177  //ImGui::Checkbox("Read-only", &read_only);
180 
181  }
182 
183 
184 
185 
186  /*if (ImGui::CollapsingHeader("PLACEHOLDER"))
187  {
188  ImGui::Text("Game Title: {enter game title here}");
189  ImGui::Text("Contributors: {enter contributing people/groups/studios here}");
190 
191  static bool read_only = true;
192  static char text[1024 * 16] =
193  "This box is meant to hold any notable information about this release build."
194  "\nIt can specify any major overhauls, additions, or anything else noteworthy"
195  "\nin this release from the previous.";
196 
197  ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
198  //ImGui::Checkbox("Read-only", &read_only);
199  ImGui::PopStyleVar();
200  ImGui::InputTextMultiline("##source", text, IM_ARRAYSIZE(text), ImVec2(-1.0f, ImGui::GetTextLineHeight() * 16), ImGuiInputTextFlags_AllowTabInput | (read_only ? ImGuiInputTextFlags_ReadOnly : 0));
201 
202  }*/
203  ImGui::End();
204  }
205  }
206  };
207 }
ImGuiInputTextFlags_ReadOnly
@ ImGuiInputTextFlags_ReadOnly
Definition: imgui.h:769
Blam::Modules::Keystone::OpenWebURL
BLAM bool OpenWebURL(std::string url)
Definition: keystone.cpp:80
Blam::DebugUI::Windows::AboutBlamite::show_release_history
bool show_release_history
Toggles the release history window.
Definition: about_blamite.hpp:41
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:103
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
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
Blam::DebugUI::Windows::AboutBlamite
Class for the legacy ImGUI-based About box.
Definition: about_blamite.hpp:38
ImGui::CollapsingHeader
IMGUI_API bool CollapsingHeader(const char *label, ImGuiTreeNodeFlags flags=0)
Definition: imgui_widgets.cpp:5422
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: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:362
Blam::DebugUI::Windows::AboutBlamite::Draw
void Draw()
Draws the About window.
Definition: about_blamite.hpp:47
Blam::DebugUI::ImGUIDrawingGroup
Class representing an ImGUI drawing group/draw list item.
Definition: debug_ui.h:359
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
ImGui::Separator
IMGUI_API void Separator()
Definition: imgui_widgets.cpp:1284
ImGuiWindowFlags_NoResize
@ ImGuiWindowFlags_NoResize
Definition: imgui.h:715
Blam::DebugUI::Windows
Legacy namespace to contain data for the legacy ImGUI console.
Definition: ui.h:14
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