RigsofRods
Soft-body Physics Simulation
GUI_GameAbout.cpp
Go to the documentation of this file.
1 /*
2  This source file is part of Rigs of Rods
3  Copyright 2005-2012 Pierre-Michel Ricordel
4  Copyright 2007-2012 Thomas Fischer
5  Copyright 2013-2019 Petr Ohlidal
6 
7  For more information, see http://www.rigsofrods.org/
8 
9  Rigs of Rods is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License version 3, as
11  published by the Free Software Foundation.
12 
13  Rigs of Rods is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
25 
26 #include "GUI_GameAbout.h"
27 
28 #include "Actor.h"
29 #include "Application.h"
30 #include "GUIManager.h"
31 #include "Language.h"
32 #include "RoRVersion.h"
33 #include "Utils.h"
34 #include "RoRnet.h"
35 
36 using namespace RoR;
37 using namespace GUI;
38 
40 {
42 
43  ImGui::SetNextWindowSize(ImVec2(475.f, ImGui::GetIO().DisplaySize.y - 40.f), ImGuiCond_Appearing);
44  ImGui::SetNextWindowPosCenter(ImGuiCond_Appearing);
45  ImGuiWindowFlags win_flags = ImGuiWindowFlags_NoCollapse;
46  bool keep_open = true;
47  ImGui::Begin(_LC("About", "About Rigs of Rods"), &keep_open, win_flags);
48 
49  ImGui::TextDisabled("%s: ", _LC("About", "Version"));
50  ImGui::SameLine();
51  ImGui::Text("%s", ROR_VERSION_STRING);
52 
53  ImGui::TextDisabled("%s: ", _LC("About", "Network protocol"));
54  ImGui::SameLine();
55  ImGui::Text("%s", RORNET_VERSION);
56 
57  ImGui::TextDisabled("%s: ", _LC("About", "Build time"));
58  ImGui::SameLine();
59  ImGui::Text("%s, %s", ROR_BUILD_DATE, ROR_BUILD_TIME);
60 
61  ImGui::Separator();
62 
63  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Authors"));
64  ImGui::Text("%s%s", "Pierre-Michel Ricordel (pricorde):", " Physics Genius, Original Author, Core Developer, retired");
65  ImGui::Text("%s%s", "Thomas Fischer (tdev):", " Core Developer, inactive");
66 
67  ImGui::NewLine();
68  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Current Developers"));
69  ImGui::Text("%s%s", "Petr Ohlidal (only_a_ptr):", " Core Developer, active");
70  ImGui::Text("%s%s", "Edgar (AnotherFoxGuy):", " Various fixes and features, developer web services, active");
71 
72  ImGui::NewLine();
73  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Server Contributors"));
74  ImGui::Text("%s%s", "Austin:", " Server funding");
75  ImGui::Text("%s%s", "DarthCain:", " Forum software funding");
76  ImGui::Text("%s%s", "Zentro:", " Systems administrator, web designer");
77  ImGui::Text("%s%s", "Charger:", " Branding designer");
78  ImGui::Text("%s%s", "CuriousMike:", " Repository & multiplayer server management");
79 
80  ImGui::NewLine();
81  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Code Contributors"));
82  ImGui::Text("%s%s", "Estama:", " Physics Core Optimizations, Collision/Friction code, Support Beams");
83  ImGui::Text("%s%s", "Lifter:", " Triggers, Animators, Animated Props, Shocks2");
84  ImGui::Text("%s%s", "Aperion:", " Slidenodes, Axles, Improved Engine code, Rigidifiers, Networking code");
85  ImGui::Text("%s%s", "FlyPiper:", " Inertia Code, minor patches");
86  ImGui::Text("%s%s", "knied:", " MacOSX Patches");
87  ImGui::Text("%s%s", "altren:", " Coded some MyGUI windows");
88  ImGui::Text("%s%s", "petern:", " Repair on spot, Linux patches");
89  ImGui::Text("%s%s", "imrenagy:", " Moving chair hardware support, several fixes");
90  ImGui::Text("%s%s", "priotr:", " Several Linux fixes");
91  ImGui::Text("%s%s", "neorej16:", " AngelScript improvements");
92  ImGui::Text("%s%s", "cptf:", " Several Linux gcc fixes");
93  ImGui::Text("%s%s", "88Toyota:", " Clutch force patches");
94  ImGui::Text("%s%s", "synthead:", " Minor Linux fixes");
95  ImGui::Text("%s%s", "theshark:", " Various fixes");
96  ImGui::Text("%s%s", "Clockwork (a.k.a VeyronEB):", " GUI Designer and tweaker");
97  ImGui::Text("%s%s", "Klink:", " Terrains conversion, few fixes and tweaks, dashboard designer");
98  ImGui::Text("%s%s", "hagdervriese:", " Linux fixes");
99  ImGui::Text("%s%s", "skybon:", " Web services, fixes, utilities");
100  ImGui::Text("%s%s", "Niklas Kersten (Hiradur):", " Various fixes and tweaks, retired");
101  ImGui::Text("%s%s", "Moncef Ben Slimane (max98):", " Few fixes, Few improvements, GUI Overhaul");
102  ImGui::Text("%s%s", "mikadou:", " Modernized thread pool, cmake, various fixes");
103  ImGui::Text("%s%s", "ulteq:", " Various features, multithreading, lots of fixes");
104  ImGui::Text("%s%s", "tritonas00:", " Various improvements and Linux fixes");
105 
106  ImGui::NewLine();
107  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Core Content Contributors"));
108  ImGui::Text("%s%s", "donoteat:", " Improved spawner models, terrain work");
109  ImGui::Text("%s%s", "kevinmce:", " Old character");
110  ImGui::Text("%s%s", "vido89", " Character animations");
111 
112  ImGui::NewLine();
113  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Mod Contributors"));
114  ImGui::Text("%s%s", "The Rigs of Rods community:", " Provides us with lots of mods to play with");
115 
116  ImGui::NewLine();
117  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Testers"));
118  ImGui::Text("%s%s", "Invited core team:", " The invited members helped us a lot along the way at various corners");
119 
120  ImGui::NewLine();
121  ImGui::TextColored(theme.value_blue_text_color, "%s:", _LC("About", "Used Libs"));
122  ImGui::Text("%s%s", "Ogre3D:", " 3D rendering engine");
123 #ifdef USE_CAELUM
124  ImGui::Text("%s%s", "Caelum:", " Atmospheric effects");
125 #endif
126  ImGui::Text("%s%s", "Hydrax:", " Water rendering");
127 #ifdef USE_ANGELSCRIPT
128  ImGui::Text("%s%s", "AngelScript:", " Scripting Backend");
129 #endif
130 #ifdef USE_OPENAL
131  ImGui::Text("%s%s", "OpenAL Soft:", " Sound engine");
132 #endif
133  ImGui::Text("%s%s", "MyGUI:", " Legacy GUI System");
134  ImGui::Text("%s%s", "Dear ImGui:", " GUI System");
135  ImGui::Text("%s%s", "mofilereader:", " Used for Internationalization");
136  ImGui::Text("%s%s", "OIS:", " Used as Input System");
137 
138  ImGui::Text("%s%s", "pagedgeometry:", " Used for foliage (grass, trees, etc)");
139 
140 #ifdef USE_CURL
141  ImGui::Text("%s%s", "curl:", " Used for www-server communication");
142 #endif
143 #ifdef USE_SOCKETW
144  ImGui::Text("%s%s", "SocketW:", " Used as cross-platform socket abstraction");
145 #endif
146  ImGui::Text("%s%s", "pThreads:", " POSIX threads library");
147  ImGui::Text("%s%s", "RapidJSON:", " JSON parser/generator, used for online services");
148 
149  ImGui::End();
150  if (!keep_open)
151  {
152  this->SetVisible(false);
153  }
154 }
155 
157 {
158  m_is_visible = v;
159  if(!v && (App::app_state->getEnum<AppState>() == AppState::MAIN_MENU))
160  {
162  }
163 }
164 
RoR::GUI::GameAbout::Draw
void Draw()
Definition: GUI_GameAbout.cpp:39
RoR::GUIManager::GuiTheme
Definition: GUIManager.h:70
RoR::App::GetGuiManager
GUIManager * GetGuiManager()
Definition: Application.cpp:269
RoR::GUIManager::GuiTheme::value_blue_text_color
ImVec4 value_blue_text_color
Definition: GUIManager.h:77
RoR::AppState::MAIN_MENU
@ MAIN_MENU
RORNET_VERSION
#define RORNET_VERSION
Definition: RoRnet.h:35
RoR::GUI::GameAbout::m_is_visible
bool m_is_visible
Definition: GUI_GameAbout.h:40
Utils.h
Language.h
GUIManager.h
Actor.h
RoR::GUI::GameAbout::SetVisible
void SetVisible(bool v)
Definition: GUI_GameAbout.cpp:156
RoR::GUIManager::GetTheme
GuiTheme & GetTheme()
Definition: GUIManager.h:158
RoR::App::app_state
CVar * app_state
Definition: Application.cpp:79
GUI_GameAbout.h
Application.h
Central state/object manager and communications hub.
RoRVersion.h
RoR::GUI::GameMainMenu::SetVisible
void SetVisible(bool v)
Definition: GUI_GameMainMenu.h:43
ROR_VERSION_STRING
const char *const ROR_VERSION_STRING
_LC
#define _LC(ctx, str)
Definition: Language.h:42
ROR_BUILD_DATE
const char *const ROR_BUILD_DATE
RoR
Definition: AppContext.h:36
ROR_BUILD_TIME
const char *const ROR_BUILD_TIME
RoR::GUIManager::GameMainMenu
GUI::GameMainMenu GameMainMenu
Definition: GUIManager.h:106