]> git.lizzy.rs Git - minetest.git/commitdiff
Set and unset relative mouse mode where necessary (#12636)
authorndren <andreien@proton.me>
Sat, 24 Dec 2022 08:38:30 +0000 (08:38 +0000)
committerGitHub <noreply@github.com>
Sat, 24 Dec 2022 08:38:30 +0000 (09:38 +0100)
* Set and unset relative mouse mode where necessary

Co-authored-by: sfan5 <sfan5@live.de>
src/client/clientlauncher.cpp
src/client/game.cpp

index 514607fc3bae8c5c0b5961b5edd4fce0ed01d943..94d2a38c9d1eea97025b2fb6194c0e7f7a3601e5 100644 (file)
@@ -552,6 +552,10 @@ void ClientLauncher::main_menu(MainMenuData *menudata)
 #ifndef ANDROID
        m_rendering_engine->get_raw_device()->getCursorControl()->setVisible(true);
 #endif
+       // Set absolute mouse mode
+#if IRRLICHT_VERSION_MT_REVISION >= 9
+       m_rendering_engine->get_raw_device()->getCursorControl()->setRelativeMode(false);
+#endif
 
        /* show main menu */
        GUIEngine mymenu(&input->joystick, guiroot, m_rendering_engine, &g_menumgr, menudata, *kill);
index fc911fc03bb3122e41d211ededc4d7012b050881..e7fc31774e0cd57dfca7096706bc4cce4c7a13af 100644 (file)
@@ -2520,6 +2520,12 @@ void Game::checkZoomEnabled()
 
 void Game::updateCameraDirection(CameraOrientation *cam, float dtime)
 {
+#if IRRLICHT_VERSION_MT_REVISION >= 9
+       if (isMenuActive())
+               device->getCursorControl()->setRelativeMode(false);
+       else
+               device->getCursorControl()->setRelativeMode(true);
+#endif
        if ((device->isWindowActive() && device->isWindowFocused()
                        && !isMenuActive()) || input->isRandom()) {