aboutsummaryrefslogtreecommitdiff
path: root/engines/access
diff options
context:
space:
mode:
authorPaul Gilbert2014-08-24 17:31:41 -0400
committerPaul Gilbert2014-08-24 17:31:41 -0400
commit3e14e7b9663130d1a730aaf6821c766b505ebdba (patch)
tree68060caee85c491a99cdca6069f10f0eece23994 /engines/access
parentce97ba5587daecd262f44cd240efb23f6bd24e8b (diff)
downloadscummvm-rg350-3e14e7b9663130d1a730aaf6821c766b505ebdba.tar.gz
scummvm-rg350-3e14e7b9663130d1a730aaf6821c766b505ebdba.tar.bz2
scummvm-rg350-3e14e7b9663130d1a730aaf6821c766b505ebdba.zip
ACCESS: Fix selection of inventory items
Diffstat (limited to 'engines/access')
-rw-r--r--engines/access/inventory.cpp5
-rw-r--r--engines/access/room.cpp24
2 files changed, 20 insertions, 9 deletions
diff --git a/engines/access/inventory.cpp b/engines/access/inventory.cpp
index f4236cc385..dbc3cbac89 100644
--- a/engines/access/inventory.cpp
+++ b/engines/access/inventory.cpp
@@ -165,6 +165,11 @@ int InventoryManager::newDisplayInv() {
if (!_invRefreshFlag) {
if (_vm->_useItem == -1) {
result = 2;
+ events._normalMouse = CURSOR_CROSSHAIRS;
+ events.setCursor(CURSOR_CROSSHAIRS);
+ } else {
+ events.setCursor(CURSOR_INVENTORY);
+ events._normalMouse = CURSOR_INVENTORY;
}
}
diff --git a/engines/access/room.cpp b/engines/access/room.cpp
index a4be02d263..b00b1cf83b 100644
--- a/engines/access/room.cpp
+++ b/engines/access/room.cpp
@@ -447,20 +447,24 @@ void Room::handleCommand(int commandId) {
}
void Room::executeCommand(int commandId) {
+ EventsManager &events = *_vm->_events;
_selectCommand = commandId;
switch (commandId) {
case 0:
- _vm->_events->setCursor(CURSOR_LOOK);
+ events._normalMouse = CURSOR_LOOK;
+ events.setCursor(CURSOR_LOOK);
break;
case 2:
- _vm->_events->setCursor(CURSOR_USE);
+ events._normalMouse = CURSOR_USE;
+ events.setCursor(CURSOR_USE);
break;
case 3:
- _vm->_events->setCursor(CURSOR_TAKE);
+ events._normalMouse = CURSOR_TAKE;
+ events.setCursor(CURSOR_TAKE);
break;
case 4:
- _vm->_events->setCursor(CURSOR_ARROW);
+ events.setCursor(CURSOR_ARROW);
if (_vm->_inventory->newDisplayInv() == 2) {
commandOff();
return;
@@ -469,18 +473,20 @@ void Room::executeCommand(int commandId) {
}
break;
case 5:
- _vm->_events->setCursor(CURSOR_CLIMB);
+ events._normalMouse = CURSOR_CLIMB;
+ events.setCursor(CURSOR_CLIMB);
break;
case 6:
- _vm->_events->setCursor(CURSOR_TALK);
+ events._normalMouse = CURSOR_TALK;
+ events.setCursor(CURSOR_TALK);
break;
case 7:
- _vm->_events->_normalMouse = CURSOR_CROSSHAIRS;
+ events._normalMouse = CURSOR_CROSSHAIRS;
+ events.setCursor(CURSOR_CROSSHAIRS);
_vm->_scripts->_sequence = 5000;
_vm->_scripts->searchForSequence();
roomMenu();
_selectCommand = -1;
- _vm->_events->setCursor(CURSOR_CROSSHAIRS);
_conFlag = true;
while (_conFlag && !_vm->shouldQuit()) {
@@ -490,7 +496,7 @@ void Room::executeCommand(int commandId) {
_vm->_boxSelect = true;
break;
case 8:
- _vm->_events->setCursor(CURSOR_HELP);
+ events.setCursor(CURSOR_HELP);
break;
default:
break;