RigsofRods
Soft-body Physics Simulation
GUI_GameSettings.h
Go to the documentation of this file.
1 /*
2  This source file is part of Rigs of Rods
3  Copyright 2016-2020 Petr Ohlidal
4 
5  For more information, see http://www.rigsofrods.org/
6 
7  Rigs of Rods is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License version 3, as
9  published by the Free Software Foundation.
10 
11  Rigs of Rods is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 
22 #include "Application.h"
23 #include "OgreImGui.h"
24 
25 namespace RoR {
26 namespace GUI {
27 
29 {
30 public:
31  void Draw();
32 
33  bool IsVisible() const { return m_is_visible; }
34  void SetVisible(bool v);
35 
37 
38 private:
40  void DrawGeneralSettings();
41  void DrawGameplaySettings();
42  void DrawUiSettings();
43  void DrawGraphicsSettings();
44  void DrawAudioSettings();
45  void DrawControlSettings();
46  void DrawDiagSettings();
47 
48  // UI settings
49  const float UI_SELECTOR_WIDTH = 275.0f;
50  void DrawUiPresetCombo();
51  void DrawUiDefaultDashboard(CacheEntryPtr& entry, CVar* cvar, CacheCategoryId category_id, const std::string& label);
54 
55  // GUI state
56  bool m_is_visible = false;
57  ImVec2 m_window_size = ImVec2(0, 0);
58 
59  // Buffers for text input boxes
65 
66  // Pre-formatted combobox items
77 
78  // Render settings
79  bool m_render_must_restart = false;
80  float m_bump_height = 0.0f;
81 };
82 
83 } // namespace GUI
84 } // namespace RoR
RoR::GUI::GameSettings::DrawControlSettings
void DrawControlSettings()
Definition: GUI_GameSettings.cpp:469
RoR::GUI::GameSettings::m_combo_items_extcam_mode
std::string m_combo_items_extcam_mode
Definition: GUI_GameSettings.h:74
RoR::GUI::GameSettings::SetVisible
void SetVisible(bool v)
Definition: GUI_GameSettings.cpp:514
RoR::GUI::GameSettings::m_window_size
ImVec2 m_window_size
Definition: GUI_GameSettings.h:57
RoR::GUI::GameSettings::IsVisible
bool IsVisible() const
Definition: GUI_GameSettings.h:33
RoR::GUI::GameSettings::m_cached_uipreset_combo_string
std::string m_cached_uipreset_combo_string
Definition: GUI_GameSettings.h:76
RoR::GUI::GameSettings::default_dash_being_selected
CacheCategoryId default_dash_being_selected
Definition: GUI_GameSettings.h:36
RoR::GUI::GameSettings::DrawUiDefaultDashboard
void DrawUiDefaultDashboard(CacheEntryPtr &entry, CVar *cvar, CacheCategoryId category_id, const std::string &label)
Definition: GUI_GameSettings.cpp:673
RoR::GUI::GameSettings::m_buf_diag_preset_vehicle
Str< 1000 > m_buf_diag_preset_vehicle
Definition: GUI_GameSettings.h:61
RoR::GUI::GameSettings::DrawAudioSettings
void DrawAudioSettings()
Definition: GUI_GameSettings.cpp:308
RoR::GUI::GameSettings::Draw
void Draw()
Definition: GUI_GameSettings.cpp:37
RoR::CID_None
@ CID_None
Definition: Application.h:330
OgreImGui.h
RefCountingObjectPtr< CacheEntry >
RoR::GUI::GameSettings::m_combo_items_water_mode
std::string m_combo_items_water_mode
Definition: GUI_GameSettings.h:73
RoR::GUI::GameSettings::m_combo_items_vegetation
std::string m_combo_items_vegetation
Definition: GUI_GameSettings.h:72
RoR::GUI::GameSettings::UI_SELECTOR_WIDTH
const float UI_SELECTOR_WIDTH
Definition: GUI_GameSettings.h:49
RoR::GUI::GameSettings::m_bump_height
float m_bump_height
Definition: GUI_GameSettings.h:80
RoR::Str< 1000 >
RoR::GUI::GameSettings::DrawDiagSettings
void DrawDiagSettings()
Definition: GUI_GameSettings.cpp:435
RoR::GUI::GameSettings::DrawGameplaySettings
void DrawGameplaySettings()
Definition: GUI_GameSettings.cpp:276
RoR::GUI::GameSettings::m_buf_app_extra_mod_dir
Str< 1000 > m_buf_app_extra_mod_dir
Definition: GUI_GameSettings.h:63
RoR::GUI::GameSettings::m_buf_diag_preset_terrain
Str< 1000 > m_buf_diag_preset_terrain
Definition: GUI_GameSettings.h:60
RoR::GUI::GameSettings::m_combo_items_sky_mode
std::string m_combo_items_sky_mode
Definition: GUI_GameSettings.h:70
RoR::GUI::GameSettings::DrawRenderSystemSettings
void DrawRenderSystemSettings()
Definition: GUI_GameSettings.cpp:125
RoR::CacheCategoryId
CacheCategoryId
Definition: Application.h:328
RoR::GUI::GameSettings::DrawUiSettings
void DrawUiSettings()
Definition: GUI_GameSettings.cpp:338
Application.h
Central state/object manager and communications hub.
RoR::GUI::GameSettings::m_combo_items_tex_filter
std::string m_combo_items_tex_filter
Definition: GUI_GameSettings.h:71
RoR::GUI::GameSettings::m_buf_diag_preset_veh_config
Str< 1000 > m_buf_diag_preset_veh_config
Definition: GUI_GameSettings.h:62
RoR::GUI::GameSettings::m_ui_known_dash_boat
CacheEntryPtr m_ui_known_dash_boat
Definition: GUI_GameSettings.h:53
RoR::CVar
Quake-style console variable, defined in RoR.cfg or crated via Console UI and scripts.
Definition: CVar.h:52
RoR::GUI::GameSettings::m_is_visible
bool m_is_visible
Definition: GUI_GameSettings.h:56
RoR::GUI::GameSettings::m_combo_items_shadow_type
std::string m_combo_items_shadow_type
Definition: GUI_GameSettings.h:69
RoR::GUI::GameSettings::DrawGeneralSettings
void DrawGeneralSettings()
Definition: GUI_GameSettings.cpp:202
RoR::GUI::GameSettings::m_combo_items_light_sources
std::string m_combo_items_light_sources
Definition: GUI_GameSettings.h:68
RoR::GUI::GameSettings::m_combo_items_gearbox_mode
std::string m_combo_items_gearbox_mode
Definition: GUI_GameSettings.h:67
RoR::GUI::GameSettings::DrawGraphicsSettings
void DrawGraphicsSettings()
Definition: GUI_GameSettings.cpp:362
RoR::GUI::GameSettings::m_combo_items_input_grab
std::string m_combo_items_input_grab
Definition: GUI_GameSettings.h:75
RoR::GUI::GameSettings::m_render_must_restart
bool m_render_must_restart
Definition: GUI_GameSettings.h:79
RoR::GUI::GameSettings::DrawUiPresetCombo
void DrawUiPresetCombo()
Definition: GUI_GameSettings.cpp:613
RoR::GUI::GameSettings::m_ui_known_dash_truck
CacheEntryPtr m_ui_known_dash_truck
Definition: GUI_GameSettings.h:52
RoR
Definition: AppContext.h:36
RoR::GUI::GameSettings
Definition: GUI_GameSettings.h:28
RoR::GUI::GameSettings::m_buf_io_outgauge_ip
Str< 1000 > m_buf_io_outgauge_ip
Definition: GUI_GameSettings.h:64