aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2013-05-14 13:44:53 +1000
committerPaul Gilbert2013-05-14 13:44:53 +1000
commit6ee723c905979ad5a6c73bf86251391e8ffaecac (patch)
treea46bc2997904f3ef6efa59227ad538aab7f6594f
parent247472624abaa85e6cc95093e3a5d4020f9aa968 (diff)
downloadscummvm-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.cpp9
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;
}