aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins
diff options
context:
space:
mode:
authorStrangerke2013-01-13 23:10:06 +0100
committerStrangerke2013-01-13 23:10:06 +0100
commit6856556a1a30c3b6b3039077adc47bf727b719fc (patch)
tree2ddbe10b387c116065b17b8201fd442b7dd0ca96 /engines/hopkins
parentdd7676a37edc5404bdccdfcac386c6a79ab6f23e (diff)
downloadscummvm-rg350-6856556a1a30c3b6b3039077adc47bf727b719fc.tar.gz
scummvm-rg350-6856556a1a30c3b6b3039077adc47bf727b719fc.tar.bz2
scummvm-rg350-6856556a1a30c3b6b3039077adc47bf727b719fc.zip
HOPKINS: Fix regression in 5a961b104fb22ce1c32f46a112a185c1fc08b45c. Thanks to Eriktorbjorn for the analysis of the issue
Diffstat (limited to 'engines/hopkins')
-rw-r--r--engines/hopkins/objects.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 2476083050..7ca01203ef 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -3426,13 +3426,16 @@ void ObjectsManager::initBorder(int zoneIdx) {
* Get next icon for an object in the inventory
*/
void ObjectsManager::nextObjectIcon(int idx) {
- if (_vm->_eventsManager._mouseCursorId == 0 || _vm->_eventsManager._mouseCursorId == 16 || _vm->_eventsManager._mouseCursorId == 3 ||
- _vm->_eventsManager._mouseCursorId == 2 || _vm->_eventsManager._mouseCursorId == 7)
+ if (_vm->_eventsManager._mouseCursorId == 0 || _vm->_eventsManager._mouseCursorId == 2 ||
+ _vm->_eventsManager._mouseCursorId == 3 || _vm->_eventsManager._mouseCursorId == 16)
return;
int nextCursorId = _vm->_eventsManager._mouseCursorId + 1;
+ if (nextCursorId > 25)
+ nextCursorId = 6;
+
do {
- if (nextCursorId == 6) {
+ if (nextCursorId == 2 || nextCursorId == 5 || nextCursorId == 6) {
_vm->_eventsManager._mouseCursorId = 6;
if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field2 == 1)
return;
@@ -3457,7 +3460,6 @@ void ObjectsManager::nextObjectIcon(int idx) {
if (nextCursorId == 11) {
_vm->_eventsManager._mouseCursorId = 11;
- ++_vm->_eventsManager._mouseCursorId;
if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field4 == 1)
return;
nextCursorId++;
@@ -3481,6 +3483,11 @@ void ObjectsManager::nextObjectIcon(int idx) {
_vm->_eventsManager._mouseCursorId = 23;
if (_vm->_globals.ObjetW[_vm->_globals._inventory[idx]].field6 == 2)
return;
+ nextCursorId = 24;
+ }
+
+ if (nextCursorId == 24 || nextCursorId == 25) {
+ _vm->_eventsManager._mouseCursorId = 25;
}
nextCursorId = 6;