Browse Source

Set and unset relative mouse mode where necessary (#12636)

* Set and unset relative mouse mode where necessary

Co-authored-by: sfan5 <sfan5@live.de>
ndren 1 year ago
parent
commit
62ee02b8ba
2 changed files with 10 additions and 0 deletions
  1. 4 0
      src/client/clientlauncher.cpp
  2. 6 0
      src/client/game.cpp

+ 4 - 0
src/client/clientlauncher.cpp

@@ -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);

+ 6 - 0
src/client/game.cpp

@@ -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()) {