aboutsummaryrefslogtreecommitdiff
path: root/engines/access/amazon/amazon_room.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2014-08-23 10:21:50 -0400
committerPaul Gilbert2014-08-23 10:21:50 -0400
commit6343ff72c462219afb2f11fea69539725794efd6 (patch)
tree4ab8d6228f5f11ff72c63239c06091e16537b63b /engines/access/amazon/amazon_room.cpp
parent44436def8328accecf756d34103f5322d0fe0f6f (diff)
downloadscummvm-rg350-6343ff72c462219afb2f11fea69539725794efd6.tar.gz
scummvm-rg350-6343ff72c462219afb2f11fea69539725794efd6.tar.bz2
scummvm-rg350-6343ff72c462219afb2f11fea69539725794efd6.zip
ACCESS: Fix cursor positioning in scrolled screens, and background restores
Diffstat (limited to 'engines/access/amazon/amazon_room.cpp')
-rw-r--r--engines/access/amazon/amazon_room.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/engines/access/amazon/amazon_room.cpp b/engines/access/amazon/amazon_room.cpp
index bc0f605d8e..c0076fd78a 100644
--- a/engines/access/amazon/amazon_room.cpp
+++ b/engines/access/amazon/amazon_room.cpp
@@ -146,10 +146,13 @@ void AmazonRoom::roomMenu() {
}
void AmazonRoom::mainAreaClick() {
+ Common::Point &mousePos = _vm->_events->_mousePos;
+ Common::Point pt = _vm->_events->calcRawMouse();
+
if (_selectCommand == -1) {
if (_vm->_player->_roomNumber == 42 || _vm->_player->_roomNumber == 44 ||
_vm->_player->_roomNumber == 31 || _vm->_player->_roomNumber == 29) {
- switch (checkBoxes1(_vm->_events->_mousePos)) {
+ switch (checkBoxes1(pt)) {
case 0:
_game->_jasMayaFlag = 0;
return;
@@ -161,13 +164,13 @@ void AmazonRoom::mainAreaClick() {
}
}
- _vm->_player->_moveTo = _vm->_events->_mousePos;
+ _vm->_player->_moveTo = pt;
_vm->_player->_playerMove = true;
- } else if (_vm->_events->_mousePos.x >= _vm->_screen->_windowXAdd &&
- _vm->_events->_mousePos.x <= _vm->_screen->_vWindowBytesWide &&
- _vm->_events->_mousePos.y >= _vm->_screen->_windowYAdd &&
- _vm->_events->_mousePos.y <= _vm->_screen->_vWindowLinesTall) {
- if (checkBoxes1(_vm->_events->_mousePos) >= 0) {
+ } else if (mousePos.x >= _vm->_screen->_windowXAdd &&
+ mousePos.x <= _vm->_screen->_vWindowBytesWide &&
+ mousePos.y >= _vm->_screen->_windowYAdd &&
+ mousePos.y <= _vm->_screen->_vWindowLinesTall) {
+ if (checkBoxes1(pt) >= 0) {
checkBoxes3();
}
}