aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/inter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/inter.cpp')
-rw-r--r--engines/gob/inter.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/gob/inter.cpp b/engines/gob/inter.cpp
index 0d48ad719c..f6e6d41100 100644
--- a/engines/gob/inter.cpp
+++ b/engines/gob/inter.cpp
@@ -288,7 +288,21 @@ void Inter::funcBlock(int16 retFlag) {
_vm->_util->longDelay(5000);
}
+ } // End of workaround
+ // WORKAROUND:
+ // Apart the CD version which is playing a speech in this room, all the versions
+ // of Fascination have a too short delay between the storage room and the lab.
+ // We manually add it here.
+ if ((_vm->getGameType() == kGameTypeFascination) &&
+ !strncmp(_vm->_game->_curTotFile, "PLANQUE.tot", 9)) {
+ int addr = _vm->_game->_script->pos();
+ if ((startaddr == 0x0202 && addr == 0x0330) || // Before Lab, Amiga & Atari, English
+ (startaddr == 0x023D && addr == 0x032D) || // Before Lab, PC floppy, German
+ (startaddr == 0x02C2 && addr == 0x03C2)) { // Before Lab, PC floppy, Hebrew
+ warning("Fascination - Adding delay");
+ _vm->_util->longDelay(3000);
+ }
} // End of workaround
cmd = _vm->_game->_script->readByte();