diff options
author | Paul Gilbert | 2013-05-14 13:44:53 +1000 |
---|---|---|
committer | Paul Gilbert | 2013-05-14 13:44:53 +1000 |
commit | 6ee723c905979ad5a6c73bf86251391e8ffaecac (patch) | |
tree | a46bc2997904f3ef6efa59227ad538aab7f6594f | |
parent | 247472624abaa85e6cc95093e3a5d4020f9aa968 (diff) | |
download | scummvm-rg350-6ee723c905979ad5a6c73bf86251391e8ffaecac.tar.gz scummvm-rg350-6ee723c905979ad5a6c73bf86251391e8ffaecac.tar.bz2 scummvm-rg350-6ee723c905979ad5a6c73bf86251391e8ffaecac.zip |
HOPKINS: Bugfix for #3612410 - hotspots are off
-rw-r--r-- | engines/hopkins/lines.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp index 8d15818bf4..6ec48ce9d2 100644 --- a/engines/hopkins/lines.cpp +++ b/engines/hopkins/lines.cpp @@ -2596,6 +2596,11 @@ int LinesManager::getMouseZone() { _zone[bobZoneId]._destY = _vm->_objectsMan->_bob[bobId]._oldHeight + _vm->_objectsMan->_bob[bobId]._oldY + 6; _zone[bobZoneId]._spriteIndex = -1; } + + // WORKAROUND: Avoid allowing hotspots that should remain non-interactive + if (bobZoneId == 24 && _vm->_globals->_curRoomNum == 14) + continue; + return bobZoneId; } } @@ -2891,6 +2896,10 @@ void LinesManager::checkZone() { int zoneId; if (_oldMouseX != mouseX || _oldMouseY != oldMouseY) { zoneId = getMouseZone(); + + // WORKAROUND: Incorrect hotspot zones in the guard's control room + if (_vm->_globals->_curRoomNum == 71 && (zoneId == 14 || zoneId == 12 || zoneId == 17)) + zoneId = _oldMouseZoneId; } else { zoneId = _oldMouseZoneId; } |