aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorMax Horn2008-08-06 10:32:20 +0000
committerMax Horn2008-08-06 10:32:20 +0000
commite7027503f1b0bfbce5f700a9c2e14079105d88d1 (patch)
tree720d449c495d1a1cd9a805af087277391de742a4 /engines/scumm
parenteb649983fcc7c05209be30ba6d19b997112dd639 (diff)
downloadscummvm-rg350-e7027503f1b0bfbce5f700a9c2e14079105d88d1.tar.gz
scummvm-rg350-e7027503f1b0bfbce5f700a9c2e14079105d88d1.tar.bz2
scummvm-rg350-e7027503f1b0bfbce5f700a9c2e14079105d88d1.zip
Workaround for bug #2016521 (DOTT: Bernard impersonating LaVerne)
svn-id: r33655
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/script_v6.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 04ea53137b..b9a00e6d38 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -2390,6 +2390,15 @@ void ScummEngine_v6::o6_talkActor() {
_actorToPrintStrFor = pop();
+ // WORKAROUND for bug #2016521: "DOTT: Bernard impersonating LaVerne"
+ // Original script did not check for VAR_EGO == 2 before executing
+ // a talkActor opcode.
+ if (_game.id == GID_TENTACLE && vm.slot[_currentScript].number == 307
+ && VAR(VAR_EGO) != 2 && _actorToPrintStrFor == 2) {
+ _scriptPointer += resStrLen(_scriptPointer) + 1;
+ return;
+ }
+
_string[0].loadDefault();
actorTalk(_scriptPointer);