[Scummvm-cvs-logs] scummvm master -> 8e789002b31b1b5e18df5fbdc2801153d9a2f6a2

m-kiewitz m_kiewitz at users.sourceforge.net
Sat Jun 13 21:48:50 CEST 2015


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
8e789002b3 SHERLOCK: 3DO: talk movie playback changes


Commit: 8e789002b31b1b5e18df5fbdc2801153d9a2f6a2
    https://github.com/scummvm/scummvm/commit/8e789002b31b1b5e18df5fbdc2801153d9a2f6a2
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-06-13T21:47:38+02:00

Commit Message:
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.

Changed paths:
    engines/sherlock/talk.cpp



diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp
index 2fe9f35..b3363ab 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++;
 		}
 






More information about the Scummvm-git-logs mailing list