[Scummvm-git-logs] scummvm master -> 0c5271ebcfff2a55e4a1b7ac13cc70f0c5f3753b

dreammaster paulfgilbert at gmail.com
Sat Oct 10 16:52:36 UTC 2020


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:
0c5271ebcf XEEN: Fix mouth animations in Clouds intro


Commit: 0c5271ebcfff2a55e4a1b7ac13cc70f0c5f3753b
    https://github.com/scummvm/scummvm/commit/0c5271ebcfff2a55e4a1b7ac13cc70f0c5f3753b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-10-10T09:52:26-07:00

Commit Message:
XEEN: Fix mouth animations in Clouds intro

Changed paths:
    engines/xeen/worldofxeen/clouds_cutscenes.cpp


diff --git a/engines/xeen/worldofxeen/clouds_cutscenes.cpp b/engines/xeen/worldofxeen/clouds_cutscenes.cpp
index 420ac5a207..dbef60e018 100644
--- a/engines/xeen/worldofxeen/clouds_cutscenes.cpp
+++ b/engines/xeen/worldofxeen/clouds_cutscenes.cpp
@@ -47,9 +47,12 @@ bool CloudsCutscenes::showCloudsIntro() {
 	bool seenIntro = showCloudsTitle() && showCloudsIntroInner();
 
 	events.clearEvents();
-	screen.doScroll(true, false);
-	sound.stopAllAudio();
 
+	// Roll up the scroll again
+	sound.songCommand(50);
+	doScroll(true, false);
+
+	sound.stopAllAudio();
 	screen.freePages();
 	files.setGameCc(darkCc ? 1 : 0);
 
@@ -282,6 +285,7 @@ bool CloudsCutscenes::showCloudsIntroInner() {
 			sound.playVoice(_INTRO_VOCS[lineCtr]);
 		}
 
+		events.timeMark1();
 		for (int frameCtr = 0, lookup = 0; sound.isSoundPlaying() ||
 				(_subtitles.active() && (lineCtr == 0 || lineCtr == 4 || lineCtr == 10 || lineCtr == 13)); ) {
 			groupo.draw(0, 0);
@@ -352,10 +356,10 @@ bool CloudsCutscenes::showCloudsIntroInner() {
 				break;
 			}
 
-			int duration = _INTRO_FRAMES_WAIT[_INTRO_FRAMES_LOOKUP[lineCtr]][lookup];
-			if (duration == 0)
-				duration = 1;
-			WAIT(duration);
+			uint expiry = _INTRO_FRAMES_WAIT[_INTRO_FRAMES_LOOKUP[lineCtr]][lookup];
+			do {
+				WAIT(1);
+			} while (events.timeElapsed1() < expiry);
 
 			++lookup;
 			if (!sound._fxOn && lookup > 30)
@@ -371,10 +375,6 @@ bool CloudsCutscenes::showCloudsIntroInner() {
 			sound.playVoice(_INTRO_VOCS[7]);
 	}
 
-	// Roll up the scroll again
-	sound.songCommand(50);
-	doScroll(true, false);
-
 	return true;
 }
 




More information about the Scummvm-git-logs mailing list