diff options
author | Martin Kiewitz | 2015-06-13 21:47:38 +0200 |
---|---|---|
committer | Martin Kiewitz | 2015-06-13 21:47:38 +0200 |
commit | 8e789002b31b1b5e18df5fbdc2801153d9a2f6a2 (patch) | |
tree | 35875a70c8c5a66f1ef937eac928465d9aa74518 | |
parent | 1e5e7243ffffb279841c5c2b34cfc3079144cf52 (diff) | |
download | scummvm-rg350-8e789002b31b1b5e18df5fbdc2801153d9a2f6a2.tar.gz scummvm-rg350-8e789002b31b1b5e18df5fbdc2801153d9a2f6a2.tar.bz2 scummvm-rg350-8e789002b31b1b5e18df5fbdc2801153d9a2f6a2.zip |
SHERLOCK: 3DO: talk movie playback changes
only trigger movie playback inside Talk::doScript when scripts
switch to new speaker. That way longer text won't trigger
movie playback.
-rw-r--r-- | engines/sherlock/talk.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp index 2fe9f35650..b3363ab566 100644 --- a/engines/sherlock/talk.cpp +++ b/engines/sherlock/talk.cpp @@ -1035,6 +1035,7 @@ void Talk::doScript(const Common::String &script) { } } + bool trigger3DOMovie = true; uint16 subIndex = 1; do { @@ -1055,6 +1056,9 @@ void Talk::doScript(const Common::String &script) { return; case RET_CONTINUE: continue; + case OP_SWITCH_SPEAKER: + trigger3DOMovie = true; + break; default: break; } @@ -1077,10 +1081,11 @@ void Talk::doScript(const Common::String &script) { _openTalkWindow = false; } - if (_wait) { + if ((_wait) && (trigger3DOMovie)) { // Trigger to play 3DO movie talk3DOMovieTrigger(subIndex); + trigger3DOMovie = false; // wait for next switch speaker opcode subIndex++; } |