aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Brown2002-11-10 12:22:22 +0000
committerJames Brown2002-11-10 12:22:22 +0000
commit5e966f88e97af937e71b8da0c33fddc5ed874eee (patch)
treebffb09a714d86d1978f2071e3711ba8ac2a63d71
parent18506e771464649ef853f34f8ae85604b1681ab3 (diff)
downloadscummvm-rg350-5e966f88e97af937e71b8da0c33fddc5ed874eee.tar.gz
scummvm-rg350-5e966f88e97af937e71b8da0c33fddc5ed874eee.tar.bz2
scummvm-rg350-5e966f88e97af937e71b8da0c33fddc5ed874eee.zip
Implement Indy3 opcode - this fixes the 'walking to car' portion of the first section of the game
svn-id: r5482
-rw-r--r--scumm/script_v1.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/scumm/script_v1.cpp b/scumm/script_v1.cpp
index 4058958725..92a1a41873 100644
--- a/scumm/script_v1.cpp
+++ b/scumm/script_v1.cpp
@@ -680,7 +680,6 @@ void Scumm::o5_delay()
delay |= fetchScriptByte() << 16;
vm.slot[_currentScript].delay = delay;
vm.slot[_currentScript].status = 1;
-
o5_breakHere();
}
@@ -1929,8 +1928,17 @@ void Scumm::o5_soundKludge()
int16 items[15];
int i;
- if (_features & GF_SMALL_HEADER) // Is dummy function in
- return; // SCUMM V3
+ if (_features & GF_SMALL_HEADER) { // Is WaitForSentence in SCUMM V3
+ if (_sentenceNum) {
+ if (_sentence[_sentenceNum - 1].unk && !isScriptInUse(_vars[VAR_SENTENCE_SCRIPT]))
+ return;
+ } else if (!isScriptInUse(_vars[VAR_SENTENCE_SCRIPT])) {
+ return;
+ }
+
+ _scriptPointer--;
+ o5_breakHere();
+ }
for (i = 0; i < 15; i++)
items[i] = 0;