From 65929ab9a22b57f0a4c93a96d582bf989661142f Mon Sep 17 00:00:00 2001 From: SkrubbySkrubInAShrub Date: Wed, 11 Feb 2026 17:03:22 +0100 Subject: [PATCH 1/7] Add hotkey, improve esc handling --- src/Menu.cpp | 25 ++++++++++++++++++------- src/Menu.h | 20 +++++++++++--------- src/Menu/SettingsTabRenderer.cpp | 6 ++++++ src/Menu/SettingsTabRenderer.h | 1 + 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/Menu.cpp b/src/Menu.cpp index 56829e4b48..6f87c54486 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -152,6 +152,7 @@ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT( OverlayToggleKey, ShaderBlockPrevKey, ShaderBlockNextKey, + WeatherEditorToggleKey, EnableShaderBlocking, FirstTimeSetupCompleted, SkipClearCacheConfirmation, @@ -262,6 +263,7 @@ void Menu::Load(json& o_json) migrateKey(o_json, "OverlayToggleKey", settings.OverlayToggleKey); migrateKey(o_json, "ShaderBlockPrevKey", settings.ShaderBlockPrevKey); migrateKey(o_json, "ShaderBlockNextKey", settings.ShaderBlockNextKey); + migrateKey(o_json, "WeatherEditorToggleKey", settings.WeatherEditorToggleKey); // Helper for new smart serialization with error handling auto loadComboList = [](const json& j, const char* keyName, std::vector& target) { @@ -281,6 +283,7 @@ void Menu::Load(json& o_json) loadComboList(o_json, "OverlayToggleKey", settings.OverlayToggleKey); loadComboList(o_json, "ShaderBlockPrevKey", settings.ShaderBlockPrevKey); loadComboList(o_json, "ShaderBlockNextKey", settings.ShaderBlockNextKey); + loadComboList(o_json, "WeatherEditorToggleKey", settings.WeatherEditorToggleKey); // Legacy support: If old config has Theme data and no SelectedThemePreset, load it if (o_json.contains("Theme") && o_json["Theme"].is_object() && settings.SelectedThemePreset.empty()) { @@ -343,6 +346,7 @@ void Menu::Save(json& o_json) InputCombo::ComboList::to_json(o_json["OverlayToggleKey"], settings.OverlayToggleKey); InputCombo::ComboList::to_json(o_json["ShaderBlockPrevKey"], settings.ShaderBlockPrevKey); InputCombo::ComboList::to_json(o_json["ShaderBlockNextKey"], settings.ShaderBlockNextKey); + InputCombo::ComboList::to_json(o_json["WeatherEditorToggleKey"], settings.WeatherEditorToggleKey); } void Menu::LoadTheme(json& o_json) @@ -773,7 +777,8 @@ void Menu::DrawGeneralSettings() .settingSkipCompilationKey = settingSkipCompilationKey, .settingOverlayToggleKey = settingOverlayToggleKey, .settingShaderBlockPrevKey = settingShaderBlockPrevKey, - .settingShaderBlockNextKey = settingShaderBlockNextKey + .settingShaderBlockNextKey = settingShaderBlockNextKey, + .settingWeatherEditorToggleKey = settingWeatherEditorToggleKey }; // Render settings using extracted component @@ -988,6 +993,7 @@ void Menu::ProcessInputEventQueue() { &settings.OverlayToggleKey, &settingOverlayToggleKey, [this](std::vector keys) { settings.OverlayToggleKey = keys; settingOverlayToggleKey = false; } }, { &settings.ShaderBlockPrevKey, &settingShaderBlockPrevKey, [this](std::vector keys) { settings.ShaderBlockPrevKey = keys; settingShaderBlockPrevKey = false; } }, { &settings.ShaderBlockNextKey, &settingShaderBlockNextKey, [this](std::vector keys) { settings.ShaderBlockNextKey = keys; settingShaderBlockNextKey = false; } }, + { &settings.WeatherEditorToggleKey, &settingWeatherEditorToggleKey, [this](std::vector keys) { settings.WeatherEditorToggleKey = keys; settingWeatherEditorToggleKey = false; } }, }; bool handled = false; for (auto& h : hotkeyActions) { @@ -1045,9 +1051,8 @@ void Menu::ProcessInputEventQueue() { settings.EffectToggleKey, [shaderCache]() { shaderCache->SetEnabled(!shaderCache->IsEnabled()); } }, { settings.ShaderBlockPrevKey, [this, shaderCache]() { if (settings.EnableShaderBlocking) shaderCache->IterateShaderBlock(); } }, { settings.ShaderBlockNextKey, [this, shaderCache]() { if (settings.EnableShaderBlocking) shaderCache->IterateShaderBlock(false); } }, - { settings.OverlayToggleKey, []() { - Menu::GetSingleton()->overlayVisible = !Menu::GetSingleton()->overlayVisible; - } }, + { settings.OverlayToggleKey, []() {Menu::GetSingleton()->overlayVisible = !Menu::GetSingleton()->overlayVisible; } }, + { settings.WeatherEditorToggleKey, []() {EditorWindow::GetSingleton()->open = !EditorWindow::GetSingleton()->open;} }, }; for (const auto& ka : keyActions) { // Check if key matches last key in combo and all modifiers are held (exact match) @@ -1084,10 +1089,16 @@ void Menu::ProcessInputEventQueue() } } - // Close menu with ESC if no editor window is open + // Handle ESC key for editor and menu auto* editorWindow = EditorWindow::GetSingleton(); - if (key == VK_ESCAPE && IsEnabled && editorWindow && !editorWindow->open) { - IsEnabled = false; + if (key == VK_ESCAPE) { + if (editorWindow && editorWindow->open) { + // Close editor window, don't propagate to menu + editorWindow->open = false; + } else if (IsEnabled) { + // Close menu only if editor is not open + IsEnabled = false; + } } } diff --git a/src/Menu.h b/src/Menu.h index 83e014e66b..e5de402544 100644 --- a/src/Menu.h +++ b/src/Menu.h @@ -139,6 +139,7 @@ class Menu bool settingOverlayToggleKey = false; bool settingShaderBlockPrevKey = false; // Debug: capture shader block prev key bool settingShaderBlockNextKey = false; // Debug: capture shader block next key + bool settingWeatherEditorToggleKey = false; // Weather Editor toggle key // Font caching (made public for ThemeManager and OverlayRenderer access) // Marked mutable because they're cache fields that may be updated from const methods @@ -378,15 +379,16 @@ class Menu { std::vector ToggleKey = { InputCombo::Keyboard(VK_END) }; std::vector SkipCompilationKey = { InputCombo::Keyboard(VK_ESCAPE) }; - std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects - std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays - std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) - std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) - bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging - bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed - bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache - bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover - bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints + std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects + std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays + std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) + std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) + std::vector WeatherEditorToggleKey = { InputCombo::Keyboard(VK_F11) }; // Weather Editor toggle key + bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging + bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed + bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache + bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover + bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints ThemeSettings Theme; std::string SelectedThemePreset = ""; // Currently selected theme preset (empty = custom/user theme) }; diff --git a/src/Menu/SettingsTabRenderer.cpp b/src/Menu/SettingsTabRenderer.cpp index f302254f56..f96ffcd76b 100644 --- a/src/Menu/SettingsTabRenderer.cpp +++ b/src/Menu/SettingsTabRenderer.cpp @@ -263,6 +263,12 @@ void SettingsTabRenderer::RenderKeybindingsTab( state.settingOverlayToggleKey, "Change##OverlayToggle"); + Util::InputComboWidget( + "Weather Editor Toggle Key:", + settings.WeatherEditorToggleKey, + state.settingWeatherEditorToggleKey, + "Change##WeatherEditorToggle"); + ImGui::EndTabItem(); } } diff --git a/src/Menu/SettingsTabRenderer.h b/src/Menu/SettingsTabRenderer.h index 9b0513c6d1..d52b2dac01 100644 --- a/src/Menu/SettingsTabRenderer.h +++ b/src/Menu/SettingsTabRenderer.h @@ -19,6 +19,7 @@ class SettingsTabRenderer bool& settingOverlayToggleKey; bool& settingShaderBlockPrevKey; // Debug: shader block previous key bool& settingShaderBlockNextKey; // Debug: shader block next key + bool& settingWeatherEditorToggleKey; // Weather Editor toggle key }; static void RenderGeneralSettings( From 677d4dbb6b8ae9afe69e754fc4bd3c486333194d Mon Sep 17 00:00:00 2001 From: SkrubbySkrubInAShrub Date: Wed, 11 Feb 2026 17:28:08 +0100 Subject: [PATCH 2/7] fix esc handling and move editor to overlay. --- src/Menu.cpp | 21 +++++++-------------- src/Menu/OverlayRenderer.cpp | 8 +++++++- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/Menu.cpp b/src/Menu.cpp index 6f87c54486..3388ef1ee3 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -687,11 +687,6 @@ void Menu::DrawSettings() ImGui::SetNextWindowSize(Util::GetNativeViewportSizeScaled(0.8f), ImGuiCond_FirstUseEver); auto title = std::format("Community Shaders {}", Util::GetFormattedVersion(Plugin::VERSION)); - if (EditorWindow::GetSingleton()->open) { - EditorWindow::GetSingleton()->Draw(); - return; - } - // Determine window flags based on docking state ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar; // Check if this will be docked (we need to peek at the docking state) @@ -1089,16 +1084,14 @@ void Menu::ProcessInputEventQueue() } } - // Handle ESC key for editor and menu + // ESC closes editor first (without propagating), then menu auto* editorWindow = EditorWindow::GetSingleton(); - if (key == VK_ESCAPE) { - if (editorWindow && editorWindow->open) { - // Close editor window, don't propagate to menu - editorWindow->open = false; - } else if (IsEnabled) { - // Close menu only if editor is not open - IsEnabled = false; - } + if (key == VK_ESCAPE && editorWindow && editorWindow->open) { + editorWindow->open = false; + continue; // Don't send to ImGui/menu + } + if (key == VK_ESCAPE && IsEnabled) { + IsEnabled = false; } } diff --git a/src/Menu/OverlayRenderer.cpp b/src/Menu/OverlayRenderer.cpp index 16f9348386..60fe41e2a3 100644 --- a/src/Menu/OverlayRenderer.cpp +++ b/src/Menu/OverlayRenderer.cpp @@ -16,6 +16,7 @@ #include "ShaderCache.h" #include "State.h" #include "Util.h" +#include "WeatherEditor/EditorWindow.h" #include "Features/PerformanceOverlay.h" #include "Features/PerformanceOverlay/ABTesting/ABTesting.h" @@ -50,7 +51,11 @@ void OverlayRenderer::RenderOverlay( RenderShaderBlockingStatus(); RenderFirstTimeSetupOverlay(); - if (menu.IsEnabled || HomePageRenderer::ShouldShowFirstTimeSetup()) { + // Draw weather editor independently of main menu state + if (EditorWindow::GetSingleton()->open) { + ImGui::GetIO().MouseDrawCursor = true; + EditorWindow::GetSingleton()->Draw(); + } else if (menu.IsEnabled || HomePageRenderer::ShouldShowFirstTimeSetup()) { ImGui::GetIO().MouseDrawCursor = true; if (menu.IsEnabled) { drawSettings(); @@ -81,6 +86,7 @@ bool OverlayRenderer::ShouldSkipRendering() return !(shaderCache->IsCompiling() || Menu::GetSingleton()->IsEnabled || + EditorWindow::GetSingleton()->open || abTestingManager->IsEnabled() || (failed && !hide) || globals::features::performanceOverlay.settings.ShowInOverlay || From 29d3fd8d20d3144ba0573d73563a686c85d6a212 Mon Sep 17 00:00:00 2001 From: SkrubbySkrubInAShrub Date: Wed, 11 Feb 2026 17:43:56 +0100 Subject: [PATCH 3/7] revert esc changes --- src/Menu.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/Menu.cpp b/src/Menu.cpp index 3388ef1ee3..b0b2c4d89a 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -1084,13 +1084,9 @@ void Menu::ProcessInputEventQueue() } } - // ESC closes editor first (without propagating), then menu + // Close menu with ESC if no editor window is open auto* editorWindow = EditorWindow::GetSingleton(); - if (key == VK_ESCAPE && editorWindow && editorWindow->open) { - editorWindow->open = false; - continue; // Don't send to ImGui/menu - } - if (key == VK_ESCAPE && IsEnabled) { + if (key == VK_ESCAPE && IsEnabled && editorWindow && !editorWindow->open) { IsEnabled = false; } } From 5b000489e86cc39925589fc416c9123f0eece282 Mon Sep 17 00:00:00 2001 From: SkrubbySkrubInAShrub Date: Wed, 11 Feb 2026 17:50:30 +0100 Subject: [PATCH 4/7] change default to F12 --- src/Menu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Menu.h b/src/Menu.h index e5de402544..4b1825d869 100644 --- a/src/Menu.h +++ b/src/Menu.h @@ -383,7 +383,7 @@ class Menu std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) - std::vector WeatherEditorToggleKey = { InputCombo::Keyboard(VK_F11) }; // Weather Editor toggle key + std::vector WeatherEditorToggleKey = { InputCombo::Keyboard(VK_F12) }; // Weather Editor toggle key bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache From 39d637c536a1c495c670858596578525e1441f89 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:53:01 +0000 Subject: [PATCH 5/7] =?UTF-8?q?style:=20=F0=9F=8E=A8=20apply=20pre-commit.?= =?UTF-8?q?ci=20formatting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automated formatting by clang-format, prettier, and other hooks. See https://pre-commit.ci for details. --- src/Menu.cpp | 4 ++-- src/Menu.h | 22 +++++++++++----------- src/Menu/SettingsTabRenderer.h | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Menu.cpp b/src/Menu.cpp index b0b2c4d89a..58a2667c41 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -1046,8 +1046,8 @@ void Menu::ProcessInputEventQueue() { settings.EffectToggleKey, [shaderCache]() { shaderCache->SetEnabled(!shaderCache->IsEnabled()); } }, { settings.ShaderBlockPrevKey, [this, shaderCache]() { if (settings.EnableShaderBlocking) shaderCache->IterateShaderBlock(); } }, { settings.ShaderBlockNextKey, [this, shaderCache]() { if (settings.EnableShaderBlocking) shaderCache->IterateShaderBlock(false); } }, - { settings.OverlayToggleKey, []() {Menu::GetSingleton()->overlayVisible = !Menu::GetSingleton()->overlayVisible; } }, - { settings.WeatherEditorToggleKey, []() {EditorWindow::GetSingleton()->open = !EditorWindow::GetSingleton()->open;} }, + { settings.OverlayToggleKey, []() { Menu::GetSingleton()->overlayVisible = !Menu::GetSingleton()->overlayVisible; } }, + { settings.WeatherEditorToggleKey, []() { EditorWindow::GetSingleton()->open = !EditorWindow::GetSingleton()->open; } }, }; for (const auto& ka : keyActions) { // Check if key matches last key in combo and all modifiers are held (exact match) diff --git a/src/Menu.h b/src/Menu.h index 4b1825d869..9eb03eebc1 100644 --- a/src/Menu.h +++ b/src/Menu.h @@ -137,8 +137,8 @@ class Menu bool settingSkipCompilationKey = false; bool settingsEffectsToggle = false; bool settingOverlayToggleKey = false; - bool settingShaderBlockPrevKey = false; // Debug: capture shader block prev key - bool settingShaderBlockNextKey = false; // Debug: capture shader block next key + bool settingShaderBlockPrevKey = false; // Debug: capture shader block prev key + bool settingShaderBlockNextKey = false; // Debug: capture shader block next key bool settingWeatherEditorToggleKey = false; // Weather Editor toggle key // Font caching (made public for ThemeManager and OverlayRenderer access) @@ -379,16 +379,16 @@ class Menu { std::vector ToggleKey = { InputCombo::Keyboard(VK_END) }; std::vector SkipCompilationKey = { InputCombo::Keyboard(VK_ESCAPE) }; - std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects - std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays - std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) - std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) + std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects + std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays + std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) + std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) std::vector WeatherEditorToggleKey = { InputCombo::Keyboard(VK_F12) }; // Weather Editor toggle key - bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging - bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed - bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache - bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover - bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints + bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging + bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed + bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache + bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover + bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints ThemeSettings Theme; std::string SelectedThemePreset = ""; // Currently selected theme preset (empty = custom/user theme) }; diff --git a/src/Menu/SettingsTabRenderer.h b/src/Menu/SettingsTabRenderer.h index d52b2dac01..8280c81978 100644 --- a/src/Menu/SettingsTabRenderer.h +++ b/src/Menu/SettingsTabRenderer.h @@ -17,8 +17,8 @@ class SettingsTabRenderer bool& settingsEffectsToggle; bool& settingSkipCompilationKey; bool& settingOverlayToggleKey; - bool& settingShaderBlockPrevKey; // Debug: shader block previous key - bool& settingShaderBlockNextKey; // Debug: shader block next key + bool& settingShaderBlockPrevKey; // Debug: shader block previous key + bool& settingShaderBlockNextKey; // Debug: shader block next key bool& settingWeatherEditorToggleKey; // Weather Editor toggle key }; From b294a7f4b3b9c04727bffe8ee49cd539476aa10e Mon Sep 17 00:00:00 2001 From: SkrubbySkrubInAShrub Date: Wed, 11 Feb 2026 18:05:19 +0100 Subject: [PATCH 6/7] set default to F11 --- src/Menu.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Menu.h b/src/Menu.h index 9eb03eebc1..472377a2ea 100644 --- a/src/Menu.h +++ b/src/Menu.h @@ -379,16 +379,16 @@ class Menu { std::vector ToggleKey = { InputCombo::Keyboard(VK_END) }; std::vector SkipCompilationKey = { InputCombo::Keyboard(VK_ESCAPE) }; - std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects - std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays - std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) - std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) - std::vector WeatherEditorToggleKey = { InputCombo::Keyboard(VK_F12) }; // Weather Editor toggle key - bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging - bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed - bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache - bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover - bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints + std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects + std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays + std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) + std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) + std::vector WeatherEditorToggleKey = { InputCombo::Keyboard(VK_F11) }; // Weather Editor toggle key + bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging + bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed + bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache + bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover + bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints ThemeSettings Theme; std::string SelectedThemePreset = ""; // Currently selected theme preset (empty = custom/user theme) }; From 37724a16bebf4e2c99ac85eaae47b7e9e0a88163 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 11 Feb 2026 17:09:04 +0000 Subject: [PATCH 7/7] =?UTF-8?q?style:=20=F0=9F=8E=A8=20apply=20pre-commit.?= =?UTF-8?q?ci=20formatting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automated formatting by clang-format, prettier, and other hooks. See https://pre-commit.ci for details. --- src/Menu.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Menu.h b/src/Menu.h index 472377a2ea..1ec35f685b 100644 --- a/src/Menu.h +++ b/src/Menu.h @@ -379,16 +379,16 @@ class Menu { std::vector ToggleKey = { InputCombo::Keyboard(VK_END) }; std::vector SkipCompilationKey = { InputCombo::Keyboard(VK_ESCAPE) }; - std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects - std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays - std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) - std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) + std::vector EffectToggleKey = { InputCombo::Keyboard(VK_MULTIPLY) }; // toggle all effects + std::vector OverlayToggleKey = { InputCombo::Keyboard(VK_F10) }; // Global overlay toggle key for all overlays + std::vector ShaderBlockPrevKey = { InputCombo::Keyboard(VK_PRIOR) }; // Debug: cycle backward through shaders (PageUp) + std::vector ShaderBlockNextKey = { InputCombo::Keyboard(VK_NEXT) }; // Debug: cycle forward through shaders (PageDown) std::vector WeatherEditorToggleKey = { InputCombo::Keyboard(VK_F11) }; // Weather Editor toggle key - bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging - bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed - bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache - bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover - bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints + bool EnableShaderBlocking = false; // Enable shader blocking hotkeys for debugging + bool FirstTimeSetupCompleted = false; // Track if first-time setup has been completed + bool SkipClearCacheConfirmation = false; // Skip confirmation dialog when clearing shader cache + bool AutoHideFeatureList = false; // Auto-hide left feature list panel, show on hover + bool SkipConstraintWarning = false; // Skip popup when a setting change creates new constraints ThemeSettings Theme; std::string SelectedThemePreset = ""; // Currently selected theme preset (empty = custom/user theme) };