aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
authorFilippos Karapetis2007-11-01 00:33:12 +0000
committerFilippos Karapetis2007-11-01 00:33:12 +0000
commit87e2f43273f53b5956c5b850271baab4dbe2efbc (patch)
treef4bab30d41542884fcb6a7a942a30f2cf3f3110a /engines/saga
parent34a9e5bc046bbd7316b34ec167ca143cccd51236 (diff)
downloadscummvm-rg350-87e2f43273f53b5956c5b850271baab4dbe2efbc.tar.gz
scummvm-rg350-87e2f43273f53b5956c5b850271baab4dbe2efbc.tar.bz2
scummvm-rg350-87e2f43273f53b5956c5b850271baab4dbe2efbc.zip
It's now possible to exit the screens with Gorrister's heart in IHNM normally (i.e by walking to the exit, not using it) - like the original
svn-id: r29349
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/script.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp
index ecd3c8a82f..4e778d4db5 100644
--- a/engines/saga/script.cpp
+++ b/engines/saga/script.cpp
@@ -721,6 +721,23 @@ void Script::playfieldClick(const Point& mousePoint, bool leftButton) {
doVerb();
}
}
+
+ // Auto-use hitzone with id 24576 (the exit to the left) in screens 16 - 19
+ // (screens with Gorrister's heart) in IHNM. For some reason, this zone does
+ // not have a corresponding action zone, so we auto-use it here, like the exits
+ // in Benny's chapter
+ if (_vm->_scene->currentChapterNumber() == 1 &&
+ _vm->_scene->currentSceneNumber() >= 16 &&
+ _vm->_scene->currentSceneNumber() <= 19 &&
+ _pendingVerb == getVerbType(kVerbWalkTo) &&
+ hitZone != NULL && hitZone->getHitZoneId() == 24576) {
+ _pendingVerb = getVerbType(kVerbUse);
+ if (objectTypeId(_pendingObject[0]) == kGameObjectActor) {
+ _vm->_actor->actorFaceTowardsObject(ID_PROTAG, _pendingObject[0]);
+ doVerb();
+ }
+ }
+
} else {
if (_pendingVerb == getVerbType(kVerbLookAt)) {
if (objectTypeId(_pendingObject[0]) != kGameObjectActor) {