From 6ee723c905979ad5a6c73bf86251391e8ffaecac Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 14 May 2013 13:44:53 +1000 Subject: HOPKINS: Bugfix for #3612410 - hotspots are off --- engines/hopkins/lines.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'engines/hopkins/lines.cpp') 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; } -- cgit v1.2.3