[Scummvm-git-logs] scummvm master -> f9130c37005810228b7dda75bec43aaea0731b1e

neuromancer noreply at scummvm.org
Fri Dec 30 22:06:13 UTC 2022


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f9130c3700 FREESCAPE: lock pointer to avoid issues when moving the camera


Commit: f9130c37005810228b7dda75bec43aaea0731b1e
    https://github.com/scummvm/scummvm/commit/f9130c37005810228b7dda75bec43aaea0731b1e
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-30T19:05:37-03:00

Commit Message:
FREESCAPE: lock pointer to avoid issues when moving the camera

Changed paths:
    engines/freescape/freescape.cpp
    engines/freescape/games/driller.cpp


diff --git a/engines/freescape/freescape.cpp b/engines/freescape/freescape.cpp
index 8db205f8300..5117b7e1a3f 100644
--- a/engines/freescape/freescape.cpp
+++ b/engines/freescape/freescape.cpp
@@ -408,7 +408,9 @@ void FreescapeEngine::processInput() {
 				drawFrame();
 				_savedScreen = _gfx->getScreenshot();
 				_gfx->setViewport(_fullscreenViewArea);
+				g_system->lockMouse(false);
 				openMainMenuDialog();
+				g_system->lockMouse(true);
 				_gfx->setViewport(_viewArea);
 				_savedScreen->free();
 				delete _savedScreen;
@@ -509,6 +511,7 @@ Common::Error FreescapeEngine::run() {
 
 	_gfx->convertImageFormatIfNecessary(_title);
 	_gfx->convertImageFormatIfNecessary(_border);
+	g_system->lockMouse(true);
 
 	// Simple main event loop
 	int saveSlot = ConfMan.getInt("save_slot");
diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index 5b9481019e9..1e8a2cb2df9 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -966,11 +966,15 @@ void DrillerEngine::drawInfoMenu() {
 			case Common::EVENT_KEYDOWN:
 				if (event.kbd.keycode == Common::KEYCODE_l) {
 					_gfx->setViewport(_fullscreenViewArea);
+					g_system->lockMouse(false);
 					loadGameDialog();
+					g_system->lockMouse(true);
 					_gfx->setViewport(_viewArea);
 				} else if (event.kbd.keycode == Common::KEYCODE_s) {
 					_gfx->setViewport(_fullscreenViewArea);
+					g_system->lockMouse(false);
 					saveGameDialog();
+					g_system->lockMouse(true);
 					_gfx->setViewport(_viewArea);
 				} else if (isDOS() && event.kbd.keycode == Common::KEYCODE_t) {
 					// TODO




More information about the Scummvm-git-logs mailing list