aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2007-10-22 20:41:58 +0000
committerFilippos Karapetis2007-10-22 20:41:58 +0000
commitcc76fbee56917238f5e4f69d1df55e7a2f324762 (patch)
tree76712769dcefb74974b2b70398d0b462db0cf17e
parenta152ded458cc0be64326a6d93bdbce8c893415ff (diff)
downloadscummvm-rg350-cc76fbee56917238f5e4f69d1df55e7a2f324762.tar.gz
scummvm-rg350-cc76fbee56917238f5e4f69d1df55e7a2f324762.tar.bz2
scummvm-rg350-cc76fbee56917238f5e4f69d1df55e7a2f324762.zip
Added a workaround for a script bug in IHNM, which occurs in the original as well. An invisible note will no longer be created in the top left corner of the screen, when the note in the first screen of Gorrister's chapter is read
svn-id: r29247
-rw-r--r--engines/saga/script.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp
index c749c1d9e8..cd10522dfc 100644
--- a/engines/saga/script.cpp
+++ b/engines/saga/script.cpp
@@ -776,6 +776,19 @@ void Script::whichObject(const Point& mousePoint) {
objectId = ID_NOTHING;
newObjectId = ID_NOTHING;
}
+
+ // WORKAROUND for a script bug in the original game scripts of IHNM
+ // When the note (item 16406) in the first screen of Gorrister's chapter
+ // is read, an invisible ghost object is created in the upper left corner
+ // of the screen, that the player can interact with. We ignore that invalid
+ // object here
+ if (_vm->getGameType() == GType_IHNM) {
+ if (objectId == 16406 && mousePoint.x < 60 && mousePoint.y < 60) {
+ objectId = ID_NOTHING;
+ newObjectId = ID_NOTHING;
+ newRightButtonVerb = getVerbType(kVerbNone);
+ }
+ }
} else {
actor = _vm->_actor->getActor(newObjectId);
objectId = newObjectId;