From ada64daf87508728e919d1bcaa93bc3e452cfb6c Mon Sep 17 00:00:00 2001 From: psi29a Date: Sun, 21 Aug 2022 20:16:36 +0000 Subject: [PATCH] Merge branch 'cherry-pick-0dacbaf31a5e0703c49eead6d6a977a28ec299f3' into 'master' ActionManager::toggleMainMenu() should close PostProcessor HUD See merge request OpenMW/openmw!2305 (cherry picked from commit bf0865d03da97e876d5f004774ab3e395fd02e37) 642d0ad6 ActionManager::toggleMainMenu() should close PostProcessor HUD. --- apps/openmw/mwbase/windowmanager.hpp | 2 ++ apps/openmw/mwgui/windowmanagerimp.cpp | 5 +++++ apps/openmw/mwgui/windowmanagerimp.hpp | 2 ++ apps/openmw/mwinput/actionmanager.cpp | 6 ++++++ 4 files changed, 15 insertions(+) diff --git a/apps/openmw/mwbase/windowmanager.hpp b/apps/openmw/mwbase/windowmanager.hpp index 2d3be688b6..49b7c87c5e 100644 --- a/apps/openmw/mwbase/windowmanager.hpp +++ b/apps/openmw/mwbase/windowmanager.hpp @@ -129,6 +129,8 @@ namespace MWBase virtual bool isConsoleMode() const = 0; + virtual bool isPostProcessorHudVisible() const = 0; + virtual void toggleVisible (MWGui::GuiWindow wnd) = 0; virtual void forceHide(MWGui::GuiWindow wnd) = 0; diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index a8bec3cf25..ac9b83eaba 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -1515,6 +1515,11 @@ namespace MWGui return mConsole && mConsole->isVisible(); } + bool WindowManager::isPostProcessorHudVisible() const + { + return mPostProcessorHud->isVisible(); + } + MWGui::GuiMode WindowManager::getMode() const { if (mGuiModes.empty()) diff --git a/apps/openmw/mwgui/windowmanagerimp.hpp b/apps/openmw/mwgui/windowmanagerimp.hpp index 117733d061..fed9bd73a3 100644 --- a/apps/openmw/mwgui/windowmanagerimp.hpp +++ b/apps/openmw/mwgui/windowmanagerimp.hpp @@ -169,6 +169,8 @@ namespace MWGui bool isConsoleMode() const override; + bool isPostProcessorHudVisible() const override; + void toggleVisible(GuiWindow wnd) override; void forceHide(MWGui::GuiWindow wnd) override; diff --git a/apps/openmw/mwinput/actionmanager.cpp b/apps/openmw/mwinput/actionmanager.cpp index 75b53d47be..a70646f41c 100644 --- a/apps/openmw/mwinput/actionmanager.cpp +++ b/apps/openmw/mwinput/actionmanager.cpp @@ -324,6 +324,12 @@ namespace MWInput return; } + if (MWBase::Environment::get().getWindowManager()->isPostProcessorHudVisible()) + { + MWBase::Environment::get().getWindowManager()->togglePostProcessorHud(); + return; + } + if (!MWBase::Environment::get().getWindowManager()->isGuiMode()) //No open GUIs, open up the MainMenu { MWBase::Environment::get().getWindowManager()->pushGuiMode (MWGui::GM_MainMenu);