diff options
author | Filippos Karapetis | 2011-10-04 01:54:53 +0300 |
---|---|---|
committer | Filippos Karapetis | 2011-10-04 01:56:10 +0300 |
commit | dae9fbd9e6075b3daad6bd1ea384b4831850c6e3 (patch) | |
tree | 36fdadb6300894f7f9308e9752554adfec3c37b0 /engines/saga | |
parent | e3d7606188cfa6896da562bd70541a8aff5561b6 (diff) | |
download | scummvm-rg350-dae9fbd9e6075b3daad6bd1ea384b4831850c6e3.tar.gz scummvm-rg350-dae9fbd9e6075b3daad6bd1ea384b4831850c6e3.tar.bz2 scummvm-rg350-dae9fbd9e6075b3daad6bd1ea384b4831850c6e3.zip |
SAGA: Fixed script bug #3358007 - "IHNM: Freeze when exiting from the motor room's right door"
Thanks to digital for finding the actual script bug
Diffstat (limited to 'engines/saga')
-rw-r--r-- | engines/saga/script.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp index f4902b6c11..96746b538c 100644 --- a/engines/saga/script.cpp +++ b/engines/saga/script.cpp @@ -26,6 +26,7 @@ #include "saga/gfx.h" #include "saga/console.h" +#include "saga/animation.h" #include "saga/script.h" #include "saga/interface.h" #include "saga/itedata.h" @@ -941,6 +942,18 @@ void Script::opSpeak(SCRIPTOP_PARAMS) { return; } +#ifdef ENABLE_IHNM + // WORKAROUND for script bug #3358007 in IHNM. When the zeppelin is landing + // and the player attempts to exit from the right door in room 13, the game + // scripts change to scene 5, but do not clear the cutaway that appears + // before Gorrister's speech starts, resulting in a deadlock. We do this + // manually here. + if (_vm->getGameId() == GID_IHNM && _vm->_scene->currentChapterNumber() == 1 && + _vm->_scene->currentSceneNumber() == 5 && _vm->_anim->hasCutaway()) { + _vm->_anim->returnFromCutaway(); + } +#endif + int stringsCount = scriptS->readByte(); uint16 actorId = scriptS->readUint16LE(); uint16 speechFlags = scriptS->readByte(); |