diff options
-rw-r--r-- | engines/saga/sfuncs.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/saga/sfuncs.cpp b/engines/saga/sfuncs.cpp index 5190537db8..bebacc39d3 100644 --- a/engines/saga/sfuncs.cpp +++ b/engines/saga/sfuncs.cpp @@ -731,6 +731,15 @@ void Script::sfEnableZone(SCRIPTFUNC_PARAMS) { if (objectTypeId(objectId) == kGameObjectHitZone) { hitZone = _vm->_scene->_objectMap->getHitZone(objectIdToIndex(objectId)); + } else if (_vm->getGameType() == GType_IHNM && _vm->_scene->currentChapterNumber() == 1 && + _vm->_scene->currentSceneNumber() == 14) { + // HACK: Don't disable the requested hitzone in room 14 in chapter 1 (Gorrister) of IHNM + // Apparently, this is used in that room to disable the tear at the very end of the + // corridor. This fixes the staircase in scenes 4 and 14 + // FIXME: Remove this hack + warning("HACK: Prevent crash at staircase with Gorrister"); + // Do nothing + return; } else { hitZone = _vm->_scene->_actionMap->getHitZone(objectIdToIndex(objectId)); } |