7#include <SDL3/SDL_events.h>
32 [[nodiscard]]
bool isOpen()
const;
Definition ConfirmModal.hpp:22
Shared tabbed settings editor used by front-end screens and the pause menu.
Definition SettingsEditor.hpp:23
float draftMouseSensitivity_
Definition SettingsEditor.hpp:77
std::string originalAudioOutputDeviceName_
Definition SettingsEditor.hpp:94
void updateLiveAudioSettings(UserSettings &settings)
Definition SettingsEditor.cpp:428
std::string draftAudioOutputDeviceName_
Definition SettingsEditor.hpp:90
bool draftMuzzleFlashEnabled_
Definition SettingsEditor.hpp:87
void apply(UserSettings &settings, std::string_view settingsPath, SettingsEditorResult &result)
Definition SettingsEditor.cpp:379
Tab activeTab_
Definition SettingsEditor.hpp:75
bool isOpen() const
True while the settings editor is active.
Definition SettingsEditor.cpp:163
float draftMusicVolume_
Definition SettingsEditor.hpp:88
bool consumeEvent(const SDL_Event &event)
Consume input events while the editor owns menu focus.
Definition SettingsEditor.cpp:181
void restoreOriginalAudioSettings(UserSettings &settings)
Definition SettingsEditor.cpp:420
float draftGamepadLookDeadzone_
Definition SettingsEditor.hpp:82
void resetToDefaults(UserSettings &settings)
Definition SettingsEditor.cpp:410
float originalMusicVolume_
Definition SettingsEditor.hpp:92
float draftSfxVolume_
Definition SettingsEditor.hpp:89
Tab
Definition SettingsEditor.hpp:46
@ General
Definition SettingsEditor.hpp:47
@ Controller
Definition SettingsEditor.hpp:50
@ Audio
Definition SettingsEditor.hpp:48
@ KeyboardMouse
Definition SettingsEditor.hpp:49
float draftGamepadPitchSensitivity_
Definition SettingsEditor.hpp:81
bool draftAimAssistEnabled_
Definition SettingsEditor.hpp:84
void resetDraft(const UserSettings &settings)
Definition SettingsEditor.cpp:327
float draftAimAssistStrength_
Definition SettingsEditor.hpp:85
void renderControllerTab(float uiScale)
Definition SettingsEditor.cpp:520
void renderKeyboardMouseTab(float uiScale)
Definition SettingsEditor.cpp:497
std::string draftAudioInputDeviceName_
Definition SettingsEditor.hpp:91
float originalSfxVolume_
Definition SettingsEditor.hpp:93
std::string statusMessage_
Definition SettingsEditor.hpp:98
ConfirmModal confirm_
Definition SettingsEditor.hpp:99
void close()
Close the editor and discard transient UI state.
Definition SettingsEditor.cpp:158
void renderGeneralTab()
Definition SettingsEditor.cpp:436
void requestDiscardConfirm()
Definition SettingsEditor.cpp:369
bool open_
Definition SettingsEditor.hpp:74
bool requestClose(const UserSettings &settings)
Definition SettingsEditor.cpp:357
SettingsEditorResult render(UserSettings &settings, std::string_view settingsPath, float uiScale)
Draw the tabbed editor inside the current ImGui window.
Definition SettingsEditor.cpp:245
void closeEditor()
Definition SettingsEditor.cpp:348
std::optional< ListeningBinding > listeningBinding_
Definition SettingsEditor.hpp:97
bool handleEscape(const UserSettings &settings)
Handle Escape according to the current listening/dirty/modal state.
Definition SettingsEditor.cpp:168
float draftGamepadMoveDeadzone_
Definition SettingsEditor.hpp:83
void open(const UserSettings &settings)
Open the editor with a fresh draft copied from live settings.
Definition SettingsEditor.cpp:145
InputBindings draftBindings_
Definition SettingsEditor.hpp:76
bool draftShowControllerBindings_
Definition SettingsEditor.hpp:79
bool draftGamepadSwapSticks_
Definition SettingsEditor.hpp:86
float draftGamepadYawSensitivity_
Definition SettingsEditor.hpp:80
float draftHorizontalFovDegrees_
Definition SettingsEditor.hpp:78
std::string originalAudioInputDeviceName_
Definition SettingsEditor.hpp:95
void renderAudioTab(UserSettings &settings)
Definition SettingsEditor.cpp:456
bool dirty_
Definition SettingsEditor.hpp:96
void renderBindingsTable(BindingDevice device, float uiScale)
Definition SettingsEditor.cpp:600
constexpr float kDefaultMouseSensitivity
Mouse-look sensitivity in radians per SDL relative mouse unit.
Definition UserSettings.hpp:15
Result commands emitted by one settings-editor render pass.
Definition SettingsEditor.hpp:16
bool applied
Settings were applied and saved this frame.
Definition SettingsEditor.hpp:17
bool closeRequested
Caller should leave the settings page.
Definition SettingsEditor.hpp:18
Definition SettingsEditor.hpp:54
std::size_t slot
Definition SettingsEditor.hpp:57
Action action
Definition SettingsEditor.hpp:55
BindingDevice device
Definition SettingsEditor.hpp:56
Per-user gameplay settings loaded from SDL's pref-path TOML file.
Definition UserSettings.hpp:25