Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
about_blamite_new.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 #include <Strings/components/utils/web/web.h>
6 
7 #include "version_data.h"
8 
13 {
14 protected:
15  bool show_credits = false;
16 
17 public:
18  void Draw()
19  {
20  if (show)
21  {
22  if (ImGui::Begin("About Blamite", &show, ImGuiWindowFlags_AlwaysAutoResize))
23  {
24  ImGui::Text("Engine version: %s", Blam::EngineDefs::GetVersion());
25 
27  ImGui::Text("The Blamite Game Engine was created by Elaztek Studios");
28  ImGui::Text(ENGINE_TEXT("engine_about_copyright").c_str());
29 
31 
32  ImGui::Text("Build Info");
33 
34  #ifdef NON_JENKINS_BUILD
36  ImGui::TextColored(ImVec4(1, 0, 0, 1), "(INACCURATE - UNTRACKED BUILD)");
38  Blam::UI::ImGUI::Widgets::ShowHelpMarker(ENGINE_TEXT("imgui_menu_commit_tooltip_text_untracked").c_str());
39  #endif
40 
41  ImGui::Text("Current commit: %s", CURRENT_COMMIT);
42  ImGui::Text("Build #: %s", STAMPED_BUILD);
43  ImGui::Text("Revision: %s", STAMPED_REVISION);
44  ImGui::Text("");
45  ImGui::Text("Build date: %s", __DATE__);
46  ImGui::Text("Build time: %s", __TIME__);
47 
49 
50  if (ImGui::Button("Changelog"))
51  {
52  BlamStrings::Utils::Web::OpenWebURL("https://elaztek.com/blogs/blog/4-blam-update-notes/");
53  }
54  }
55 
56  ImGui::End();
57  }
58 
59  if (show_credits)
60  {
61  ShowCredits();
62  }
63  }
64 
68  void ShowCredits()
69  {
71  {
72  ImGui::Text("The Blamite Game Engine is a game engine designed to mimic the behavior of Bungie's");
73  ImGui::Text("'Blam!' engine, the custom engine used in nearly every Halo game. This project is a");
74  ImGui::Text("massive undertaking and would have never been possible without the incredible Halo");
75  ImGui::Text("community's research and work invested into digging into the engine's deepest secrets.");
76 
77  ImGui::Text("");
78  ImGui::Text("");
79 
80  int second_x = ImGui::GetWindowWidth() / 2;
81 
82  ImGui::Text("The Team Behind XboxChaos' Assembly");
84 
85  ImGui::Text("AMD (Aaron Dierking)"); ImGui::SameLine(second_x); ImGui::Text("Gabe_k (Gabriel Kirkpatrick)");
86  ImGui::Text("Xerax (Alex Reed)"); ImGui::SameLine(second_x); ImGui::Text("Lord Zedd"); //do a thing with morgan freeman
87  ImGui::Text("DeadCanadian (Jordan Mueller)"); ImGui::SameLine(second_x); ImGui::Text("SnipeStyle");
88  ImGui::Text("Thunder (TJ Tunnell)"); ImGui::SameLine(second_x); ImGui::Text("OrangeMohawk (Collin Dillinger)");
89 
90  ImGui::Text("");
91 
92  ImGui::Text("Special Thanks");
94 
95  ImGui::Text("Xenomega (Xenon, DeToX)"); ImGui::SameLine(second_x); ImGui::Text("Shade45");
96  ImGui::Text("Kornman00"); ImGui::SameLine(second_x); ImGui::Text("Anthony");
97  ImGui::Text("CLK"); ImGui::SameLine(second_x); ImGui::Text("KingDingDan");
98  ImGui::Text("DarkShallFall"); ImGui::SameLine(second_x); ImGui::Text("XenonDev");
99  ImGui::Text("Prey"); ImGui::SameLine(second_x); ImGui::Text("Gravemind");
100 
101  ImGui::Text("");
102  ImGui::Text("");
103 
104  ImGui::Text("On top of these people, there's all the many people of the Halo modding community, Elaztek's");
105  ImGui::Text("Team, and so many more who just couldn't fit here. Your efforts, for Blamite itself or for");
106  ImGui::Text("the outside work that enabled Blamite to become a reality, will be remembered. Without every");
107  ImGui::Text("single one of you, we wouldn't be where we are today.");
108 
109  ImGui::Text("Thank you.");
110 
112 
113  if (ImGui::Button("Close"))
114  {
115  show_credits = false;
116  }
117 
118  ImGui::End();
119  }
120  }
121 };
BlamImGuiWindow::show
bool show
Controls whether or not the group should be shown. May not be used in all groups.
Definition: imgui.h:34
version_data.h
ImVec4
Definition: imgui.h:192
ImGui::End
IMGUI_API void End()
Definition: imgui.cpp:6016
ImGui::SameLine
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
Definition: imgui.cpp:7147
BlamImGuiWindow
Class representing an ImGUI window.
Definition: imgui.h:31
Blam::UI::ImGUI::Widgets::ShowHelpMarker
BLAM void ShowHelpMarker(const char *desc)
Shows a help indicator.
Definition: widgets.cpp:7
ImGui::Begin
IMGUI_API bool Begin(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
Definition: imgui.cpp:5397
STAMPED_REVISION
#define STAMPED_REVISION
Definition: version_data.h:16
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
STAMPED_BUILD
#define STAMPED_BUILD
Definition: version_data.h:15
BlamImGuiWindow_AboutBlamiteNew::show_credits
bool show_credits
Controls whether or not to show the credits dialog.
Definition: about_blamite_new.hpp:15
CURRENT_COMMIT
#define CURRENT_COMMIT
Definition: version_data.h:14
BlamImGuiWindow_AboutBlamiteNew
Class for Blamite's ImGUI-based About box.
Definition: about_blamite_new.hpp:12
BlamImGuiWindow_AboutBlamiteNew::Draw
void Draw()
Draws the contents of the group.
Definition: about_blamite_new.hpp:18
ImGuiWindowFlags_AlwaysAutoResize
@ ImGuiWindowFlags_AlwaysAutoResize
Definition: imgui.h:720
ENGINE_TEXT
#define ENGINE_TEXT(string_id)
Definition: engine_text.h:7
Blam::API::v1::HS::OpenWebURL
void OpenWebURL(std::string url)
Definition: hs.cpp:114
imgui.h
BlamImGuiWindow_AboutBlamiteNew::ShowCredits
void ShowCredits()
Draws the credits dialog.
Definition: about_blamite_new.hpp:68
ImGui::Separator
IMGUI_API void Separator()
Definition: imgui_widgets.cpp:1284
ImGui::GetWindowWidth
IMGUI_API float GetWindowWidth()
Definition: imgui.cpp:6580
ImGui::TextColored
IMGUI_API void TextColored(const ImVec4 &col, const char *fmt,...) IM_FMTARGS(2)
Definition: imgui_widgets.cpp:257
ImGui::Button
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0))
Definition: imgui_widgets.cpp:644