[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