diff options
author | Strangerke | 2013-01-13 23:10:06 +0100 |
---|---|---|
committer | Strangerke | 2013-01-13 23:10:06 +0100 |
commit | 6856556a1a30c3b6b3039077adc47bf727b719fc (patch) | |
tree | 2ddbe10b387c116065b17b8201fd442b7dd0ca96 /engines/hopkins | |
parent | dd7676a37edc5404bdccdfcac386c6a79ab6f23e (diff) | |
download | scummvm-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.cpp | 15 |
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; |