diff --git a/apps/openmw/mwbase/windowmanager.hpp b/apps/openmw/mwbase/windowmanager.hpp index 388dc4af9..389f816dc 100644 --- a/apps/openmw/mwbase/windowmanager.hpp +++ b/apps/openmw/mwbase/windowmanager.hpp @@ -181,6 +181,7 @@ namespace MWBase virtual void showCrosshair(bool show) = 0; virtual bool getSubtitlesEnabled() = 0; + virtual void toggleHud() = 0; virtual void disallowMouse() = 0; virtual void allowMouse() = 0; diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index a3d20ac9e..faaa41783 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -86,6 +86,7 @@ WindowManager::WindowManager( , mBatchCount(0) , mCrosshairEnabled(Settings::Manager::getBool ("crosshair", "HUD")) , mSubtitlesEnabled(Settings::Manager::getBool ("subtitles", "GUI")) + , mHudEnabled(true) { // Set up the GUI system @@ -875,3 +876,9 @@ bool WindowManager::getSubtitlesEnabled () { return mSubtitlesEnabled; } + +void WindowManager::toggleHud () +{ + mHudEnabled = !mHudEnabled; + mHud->setVisible (mHudEnabled); +} diff --git a/apps/openmw/mwgui/windowmanagerimp.hpp b/apps/openmw/mwgui/windowmanagerimp.hpp index dd8a3b006..38411bb18 100644 --- a/apps/openmw/mwgui/windowmanagerimp.hpp +++ b/apps/openmw/mwgui/windowmanagerimp.hpp @@ -162,6 +162,7 @@ namespace MWGui virtual void showCrosshair(bool show); virtual bool getSubtitlesEnabled(); + virtual void toggleHud(); virtual void disallowMouse(); virtual void allowMouse(); @@ -223,6 +224,7 @@ namespace MWGui bool mCrosshairEnabled; bool mSubtitlesEnabled; + bool mHudEnabled; /// \todo get rid of this stuff. Move it to the respective UI element classes, if needed. // Various stats about player as needed by window manager diff --git a/apps/openmw/mwinput/inputmanagerimp.cpp b/apps/openmw/mwinput/inputmanagerimp.cpp index 852f90ae9..f47ea8bb1 100644 --- a/apps/openmw/mwinput/inputmanagerimp.cpp +++ b/apps/openmw/mwinput/inputmanagerimp.cpp @@ -226,6 +226,9 @@ namespace MWInput case A_QuickKeysMenu: showQuickKeysMenu(); break; + case A_ToggleHUD: + mWindows.toggleHud(); + break; } } } @@ -676,6 +679,7 @@ namespace MWInput defaultKeyBindings[A_QuickKey9] = OIS::KC_9; defaultKeyBindings[A_QuickKey10] = OIS::KC_0; defaultKeyBindings[A_Screenshot] = OIS::KC_SYSRQ; + defaultKeyBindings[A_ToggleHUD] = OIS::KC_F12; std::map defaultMouseButtonBindings; defaultMouseButtonBindings[A_Inventory] = OIS::MB_Right; diff --git a/apps/openmw/mwinput/inputmanagerimp.hpp b/apps/openmw/mwinput/inputmanagerimp.hpp index ffa222f44..2572ec115 100644 --- a/apps/openmw/mwinput/inputmanagerimp.hpp +++ b/apps/openmw/mwinput/inputmanagerimp.hpp @@ -234,6 +234,8 @@ namespace MWInput A_QuickKeysMenu, + A_ToggleHUD, + A_Last // Marker for the last item }; }; diff --git a/files/mygui/core_layouteditor.xml b/files/mygui/core_layouteditor.xml new file mode 100644 index 000000000..740f129cc --- /dev/null +++ b/files/mygui/core_layouteditor.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/mygui/openmw.font.xml b/files/mygui/openmw.font.xml index 73d491e04..cb5dd648f 100644 --- a/files/mygui/openmw.font.xml +++ b/files/mygui/openmw.font.xml @@ -12,6 +12,7 @@ +