diff options
-rw-r--r-- | engines/gob/game.cpp | 3 | ||||
-rw-r--r-- | engines/gob/util.cpp | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/engines/gob/game.cpp b/engines/gob/game.cpp index 1d5ce65999..666f46fde1 100644 --- a/engines/gob/game.cpp +++ b/engines/gob/game.cpp @@ -311,7 +311,8 @@ void Game::evaluateScroll(int16 x, int16 y) { if (_preventScroll || !_scrollHandleMouse || (_menuLevel > 0)) return; - if (_noScroll || (_vm->_global->_videoMode != 0x14)) + if (_noScroll || + ((_vm->_global->_videoMode != 0x14) && (_vm->_global->_videoMode != 0x18))) return; if ((x == 0) && (_vm->_draw->_scrollOffsetX > 0)) { diff --git a/engines/gob/util.cpp b/engines/gob/util.cpp index 3b6a898a60..8e573ddb1a 100644 --- a/engines/gob/util.cpp +++ b/engines/gob/util.cpp @@ -132,7 +132,10 @@ void Util::processInput(bool scroll) { x = CLIP(x, _vm->_global->_mouseMinX, _vm->_global->_mouseMaxX); y = CLIP(y, _vm->_global->_mouseMinY, _vm->_global->_mouseMaxY); - _vm->_util->setMousePos(x - _vm->_video->_screenDeltaX, y - _vm->_video->_screenDeltaY); + x -= _vm->_video->_screenDeltaX; + y -= _vm->_video->_screenDeltaY; + + _vm->_util->setMousePos(x, y); _vm->_game->evaluateScroll(x, y); } } |