[Scummvm-git-logs] scummvm master -> 9ff4159a7960a71b65625ce48ab710611dae2bf9

dreammaster dreammaster at scummvm.org
Sun Dec 17 17:31:23 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:
9ff4159a79 XEEN: Fix Dwarf Mine cutscene


Commit: 9ff4159a7960a71b65625ce48ab710611dae2bf9
    https://github.com/scummvm/scummvm/commit/9ff4159a7960a71b65625ce48ab710611dae2bf9
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-12-17T11:31:13-05:00

Commit Message:
XEEN: Fix Dwarf Mine cutscene

Changed paths:
    engines/xeen/locations.cpp


diff --git a/engines/xeen/locations.cpp b/engines/xeen/locations.cpp
index 5ce6d92..dcb9db6 100644
--- a/engines/xeen/locations.cpp
+++ b/engines/xeen/locations.cpp
@@ -1821,32 +1821,42 @@ int DwarfCutscene::show() {
 	Windows &windows = *g_vm->_windows;
 
 	SpriteResource sprites1(_isDarkCc ? "town1.zom" : "dwarf1.vga");
-	SpriteResource sprites2(_isDarkCc ? "town2.zom" : "dwarf2.vga");
-	SpriteResource sprites3(_isDarkCc ? "town3.zom" : "dwarf3.vga");
+	SpriteResource sprites2(_isDarkCc ? "town2.zom" : "dwarf3.vga");
+	SpriteResource sprites3(_isDarkCc ? "town3.zom" : "dwarf2.vga");
 	getNewLocation();
 
 	// Save the screen contents
 	Graphics::ManagedSurface savedBg;
 	savedBg.copyFrom(screen);
 
-	for (int idx = 0; idx < (_isDarkCc ? 10 : 12); ++idx) {
+	// Zoom in on the mine entrance
+	for (int idx = (_isDarkCc ? 10 : 12); idx >= 0; --idx) {
+		if (g_vm->shouldQuit())
+			return 0;
+		events.updateGameCounter();
+
 		screen.blitFrom(savedBg);
 		sprites1.draw(0, 0,
-			Common::Point(DWARF_X0[_isDarkCc][idx], DWARF_Y[_isDarkCc][idx]));
+			Common::Point(DWARF_X0[_isDarkCc][idx], DWARF_Y[_isDarkCc][idx]), 0, idx);
 		sprites1.draw(0, 1,
-			Common::Point(DWARF_X1[_isDarkCc][idx], DWARF_Y[_isDarkCc][idx]));
+			Common::Point(DWARF_X1[_isDarkCc][idx], DWARF_Y[_isDarkCc][idx]), 0, idx);
 		if (_isDarkCc)
 			sprites1.draw(0, 2,
-				Common::Point(DWARF_X2[idx], DWARF_Y[_isDarkCc][idx]));
+				Common::Point(DWARF_X2[idx], DWARF_Y[_isDarkCc][idx]), 0, idx);
 
 		windows[0].update();
 		events.wait(1);
 	}
 
+	// Have character rise up from the bottom of the screen
 	savedBg.copyFrom(screen);
 	for (int idx = 15; idx >= 0; --idx) {
+		if (g_vm->shouldQuit())
+			return 0;
+		events.updateGameCounter();
+
 		screen.blitFrom(savedBg);
-		sprites2.draw(0, 0, Common::Point(DWARF2_X[_isDarkCc][idx], DWARF2_Y[_isDarkCc][idx]));
+		sprites2.draw(0, 0, Common::Point(DWARF2_X[_isDarkCc][idx], DWARF2_Y[_isDarkCc][idx]), 0, idx);
 		windows[0].update();
 		events.wait(1);
 	}
@@ -1856,7 +1866,7 @@ int DwarfCutscene::show() {
 	sprites2.draw(0, 0);
 	windows[0].update();
 
-	for (int idx = 0; idx < (_isDarkCc ? 2 : 3); ++idx) {
+	for (int idx = 0; !g_vm->shouldQuit() && idx < (_isDarkCc ? 2 : 3); ++idx) {
 		switch (idx) {
 		case 0:
 			sound.playSound(_isDarkCc ? "pass2.voc" : "dwarf10.voc");





More information about the Scummvm-git-logs mailing list