Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
about_blamite_new.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 
7 #include "version_data.h"
8 
10 {
15  {
16  protected:
17  bool show_credits = false;
18 
19  public:
24 
29 
33  void Draw()
34  {
35  // About Blamite
36  if (show)
37  {
38  if (ImGui::Begin("About Blamite", &show, ImGuiWindowFlags_AlwaysAutoResize))
39  {
40  ImGui::Text("Engine version: %s", Blam::EngineDefs::GetVersion());
41 
43  ImGui::Text("The Blamite Game Engine was created by Elaztek Studios");
44  ImGui::Text(ENGINE_TEXT("engine_about_copyright").c_str());
45 
47 
48  ImGui::Text("Build Info");
49 
50 #ifdef NON_JENKINS_BUILD
52  ImGui::TextColored(ImVec4(1,0,0,1), "(INACCURATE - UNTRACKED BUILD)");
54  Blam::DebugUI::Widgets::ShowHelpMarker(ENGINE_TEXT("imgui_menu_commit_tooltip_text_untracked").c_str());
55 #endif
56 
57  //ImGui::SameLine();
58  //Blam::DebugUI::Widgets::ShowHelpMarker("Commit, build number and revision will be inaccurate if this executable was built locally.\r\n\r\nOnly builds acquired via Jenkins or BuildMaster will have accurate build information.");
59 
60  ImGui::Text("Current commit: %s", CURRENT_COMMIT);
61  ImGui::Text("Build #: %s", STAMPED_BUILD);
62  ImGui::Text("Revision: %s", STAMPED_REVISION);
63  ImGui::Text("");
64  ImGui::Text("Build date: %s", __DATE__);
65  ImGui::Text("Build time: %s", __TIME__);
66 
68  if (ImGui::Button("Changelog"))
69  {
70  BlamStrings::Utils::OpenWebURL("https://elaztek.com/blogs/blog/4-blam-update-notes/");
71  }
72  /*ImGui::SameLine();
73  if (ImGui::Button("Credits"))
74  {
75  show_credits = true;
76  }*/
77  }
78 
79  ImGui::End();
80  }
81 
82  if (show_credits)
83  {
84  ShowCredits();
85  }
86  }
87 
88  void ShowCredits()
89  {
91  {
92  ImGui::Text("The Blamite Game Engine is a game engine designed to mimic the behavior of Bungie's");
93  ImGui::Text("'Blam!' engine, the custom engine used in nearly every Halo game. This project is a");
94  ImGui::Text("massive undertaking and would have never been possible without the incredible Halo");
95  ImGui::Text("community's research and work invested into digging into the engine's deepest secrets.");
96 
97  ImGui::Text("");
98  ImGui::Text("");
99 
100  int second_x = ImGui::GetWindowWidth() / 2;
101 
102  ImGui::Text("The Team Behind XboxChaos' Assembly");
104 
105  ImGui::Text("AMD (Aaron Dierking)"); ImGui::SameLine(second_x); ImGui::Text("Gabe_k (Gabriel Kirkpatrick)");
106  ImGui::Text("Xerax (Alex Reed)"); ImGui::SameLine(second_x); ImGui::Text("Lord Zedd"); //do a thing with morgan freeman
107  ImGui::Text("DeadCanadian (Jordan Mueller)"); ImGui::SameLine(second_x); ImGui::Text("SnipeStyle");
108  ImGui::Text("Thunder (TJ Tunnell)"); ImGui::SameLine(second_x); ImGui::Text("OrangeMohawk (Collin Dillinger)");
109 
110 
111  ImGui::Text("");
112 
113 
114  ImGui::Text("Special Thanks");
116 
117  ImGui::Text("Xenomega (Xenon, DeToX)"); ImGui::SameLine(second_x); ImGui::Text("Shade45");
118  ImGui::Text("Kornman00"); ImGui::SameLine(second_x); ImGui::Text("Anthony");
119  ImGui::Text("CLK"); ImGui::SameLine(second_x); ImGui::Text("KingDingDan");
120  ImGui::Text("DarkShallFall"); ImGui::SameLine(second_x); ImGui::Text("XenonDev");
121  ImGui::Text("Prey"); ImGui::SameLine(second_x); ImGui::Text("Gravemind");
122 
123 
124  ImGui::Text("");
125  ImGui::Text("");
126 
127  ImGui::Text("On top of these people, there's all the many people of the Halo modding community, Elaztek's");
128  ImGui::Text("Team, and so many more who just couldn't fit here. Your efforts, for Blamite itself or for");
129  ImGui::Text("the outside work that enabled Blamite to become a reality, will be remembered. Without every");
130  ImGui::Text("single one of you, we wouldn't be where we are today.");
131 
132 
133  ImGui::Text("Thank you.");
134 
136  if (ImGui::Button("Close"))
137  {
138  show_credits = false;
139  }
140 
141  ImGui::End();
142  }
143  }
144  };
145 }
Blam::DebugUI::Windows::AboutBlamiteNew::AboutBlamiteNew
AboutBlamiteNew()
Empty constructor.
Definition: about_blamite_new.hpp:23
Blam::DebugUI::Widgets::ShowHelpMarker
BLAM void ShowHelpMarker(const char *desc)
Shows a help indicator.
Definition: widgets.cpp:7
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
Blam::DebugUI::Windows::AboutBlamiteNew::Draw
void Draw()
Draws the about box.
Definition: about_blamite_new.hpp:33
Blam::DebugUI::Windows::AboutBlamiteNew::show_credits
bool show_credits
Controls whether or not to show the credits dialog.
Definition: about_blamite_new.hpp:17
ImGui::Begin
IMGUI_API bool Begin(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
Definition: imgui.cpp:5397
Blam::DebugUI::Windows::AboutBlamiteNew::ShowCredits
void ShowCredits()
Definition: about_blamite_new.hpp:88
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
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
STAMPED_BUILD
#define STAMPED_BUILD
Definition: version_data.h:15
Blam::DebugUI::ImGUIDrawingGroup
Class representing an ImGUI drawing group/draw list item.
Definition: debug_ui.h:359
CURRENT_COMMIT
#define CURRENT_COMMIT
Definition: version_data.h:14
Blam::DebugUI::Windows::AboutBlamiteNew
Class for Blamite's ImGUI-based About box.
Definition: about_blamite_new.hpp:14
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::Separator
IMGUI_API void Separator()
Definition: imgui_widgets.cpp:1284
Blam::DebugUI::Windows
Legacy namespace to contain data for the legacy ImGUI console.
Definition: ui.h:26
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
Blam::DebugUI::Windows::AboutBlamiteNew::~AboutBlamiteNew
~AboutBlamiteNew()
Empty destructor.
Definition: about_blamite_new.hpp:28