[Scummvm-git-logs] scummvm master -> da8c9a718114cf1dba85584e2ea5f8617087dcda

dreammaster dreammaster at scummvm.org
Mon Dec 18 14:19:39 CET 2017


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:
da8c9a7181 XEEN: Fixes for Sphinx cutscene


Commit: da8c9a718114cf1dba85584e2ea5f8617087dcda
    https://github.com/scummvm/scummvm/commit/da8c9a718114cf1dba85584e2ea5f8617087dcda
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-12-18T08:19:27-05:00

Commit Message:
XEEN: Fixes for Sphinx cutscene

Changed paths:
    engines/xeen/locations.cpp


diff --git a/engines/xeen/locations.cpp b/engines/xeen/locations.cpp
index 2da3487..392b700 100644
--- a/engines/xeen/locations.cpp
+++ b/engines/xeen/locations.cpp
@@ -2121,11 +2121,16 @@ int SphinxCutscene::show() {
 	bgSurface.copyFrom(screen);
 	
 	for (int idx = 8; idx >= 0; --idx) {
+		events.updateGameCounter();
 		screen.blitFrom(bgSurface);
-		sprites1.draw(0, 0, Common::Point(SPHINX_X1[idx], SPHINX_Y1[idx]));
-		sprites1.draw(0, 1, Common::Point(SPHINX_X2[idx], SPHINX_Y1[idx]));
+		sprites1.draw(0, 0, Common::Point(SPHINX_X1[idx], SPHINX_Y1[idx]), 0, idx);
+		sprites1.draw(0, 1, Common::Point(SPHINX_X2[idx], SPHINX_Y1[idx]), 0, idx);
 		windows[0].update();
+
 		events.wait(1);
+		checkEvents(g_vm);
+		if (g_vm->shouldQuit() || _buttonValue)
+			goto exit;
 	}
 
 	sound.setMusicVolume(48);
@@ -2144,13 +2149,17 @@ int SphinxCutscene::show() {
 		}
 
 		do {
+			events.updateGameCounter();
 			sprites1.draw(0, 0, Common::Point(0, 0));
 			sprites1.draw(0, 1, Common::Point(160, 0));
 			sprites1.draw(0, g_vm->getRandomNumber(2, 10));
 			updateSubtitles();
 
 			events.wait(1);
-		} while (!g_vm->shouldQuit() && (sound.isPlaying() || _subtitleCtr));
+			checkEvents(g_vm);
+			if (g_vm->shouldQuit() || _buttonValue)
+				goto exit;
+		} while (sound.isPlaying() || _subtitleCtr);
 
 		sprites1.draw(0, 0, Common::Point(0, 0));
 		sprites1.draw(0, 1, Common::Point(160, 0));
@@ -2160,16 +2169,24 @@ int SphinxCutscene::show() {
 
 	if (!_mazeFlag) {
 		for (int idx = 0; idx < 8; ++idx) {
+			events.updateGameCounter();
 			screen.blitFrom(bgSurface);
-			sprites1.draw(0, 0, Common::Point(SPHINX_X1[idx], SPHINX_Y1[idx]));
-			sprites1.draw(0, 1, Common::Point(SPHINX_X2[idx], SPHINX_Y1[idx]));
+			sprites1.draw(0, 0, Common::Point(SPHINX_X1[idx], SPHINX_Y1[idx]), 0, idx);
+			sprites1.draw(0, 1, Common::Point(SPHINX_X2[idx], SPHINX_Y1[idx]), 0, idx);
 			windows[0].update();
+
 			events.wait(1);
+			checkEvents(g_vm);
+			if (g_vm->shouldQuit() || _buttonValue)
+				goto exit;
 		}
 
 		screen.blitFrom(bgSurface);
 		windows[0].update();
 	}
+exit:
+	screen.blitFrom(bgSurface);
+	windows[0].update();
 
 	setNewLocation();
 





More information about the Scummvm-git-logs mailing list