aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/script_v5.cpp
diff options
context:
space:
mode:
authorMax Horn2006-02-20 14:01:49 +0000
committerMax Horn2006-02-20 14:01:49 +0000
commit549eb83986a9991b963a6330fc51f7d563b3dc72 (patch)
tree75a5d9125f18fdcd3dc0f5356ade01a90af0c40a /engines/scumm/script_v5.cpp
parent78c44df4394d3671f2853514022b31244bbcb17a (diff)
downloadscummvm-rg350-549eb83986a9991b963a6330fc51f7d563b3dc72.tar.gz
scummvm-rg350-549eb83986a9991b963a6330fc51f7d563b3dc72.tar.bz2
scummvm-rg350-549eb83986a9991b963a6330fc51f7d563b3dc72.zip
Workaround for bug #1308033 (FOA: skips single line of dialogue)
svn-id: r20785
Diffstat (limited to 'engines/scumm/script_v5.cpp')
-rw-r--r--engines/scumm/script_v5.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index 917baa8930..0932958abb 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -2290,10 +2290,21 @@ void ScummEngine_v5::o5_stopObjectScript() {
}
void ScummEngine_v5::o5_stopScript() {
+ const byte *oldaddr = _scriptPointer - 1;
int script;
script = getVarOrDirectByte(PARAM_1);
+ if (_gameId == GID_INDY4 && script == 164 &&
+ _roomResource == 50 && vm.slot[_currentScript].number == 213 && VAR(VAR_HAVE_MSG)) {
+ // WORKAROUND bug #1308033: Due to a script bug, a line of text is skipped
+ // which Indy is supposed to speak when he finds Orichalcum in some old
+ // bones in the caves below Crete.
+ _scriptPointer = oldaddr;
+ o5_breakHere();
+ return;
+ }
+
if (!script)
stopObjectCode();
else