From 3e14e7b9663130d1a730aaf6821c766b505ebdba Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 24 Aug 2014 17:31:41 -0400 Subject: ACCESS: Fix selection of inventory items --- engines/access/inventory.cpp | 5 +++++ engines/access/room.cpp | 24 +++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) (limited to 'engines/access') 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; -- cgit v1.2.3