aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2016-09-20 19:46:55 -0400
committerPaul Gilbert2016-09-20 19:46:55 -0400
commit18b272da29651f66c6dffb868367bf4076b4878c (patch)
tree82b57210568d93ef8373e5a3a1f14cfd00f55293
parentb1901e9bd18e3c73e6a1ca37dbab9d2354e6c430 (diff)
downloadscummvm-rg350-18b272da29651f66c6dffb868367bf4076b4878c.tar.gz
scummvm-rg350-18b272da29651f66c6dffb868367bf4076b4878c.tar.bz2
scummvm-rg350-18b272da29651f66c6dffb868367bf4076b4878c.zip
XEEN: Added Clouds of Xeen title screen
-rw-r--r--engines/xeen/worldofxeen/clouds_cutscenes.cpp59
-rw-r--r--engines/xeen/worldofxeen/worldofxeen.cpp2
2 files changed, 59 insertions, 2 deletions
diff --git a/engines/xeen/worldofxeen/clouds_cutscenes.cpp b/engines/xeen/worldofxeen/clouds_cutscenes.cpp
index 1d578bdbea..9c29ca73da 100644
--- a/engines/xeen/worldofxeen/clouds_cutscenes.cpp
+++ b/engines/xeen/worldofxeen/clouds_cutscenes.cpp
@@ -26,12 +26,69 @@
namespace Xeen {
bool CloudsCutscenes::showCloudsTitle() {
- // TODO
+ EventsManager &events = *_vm->_events;
+ Screen &screen = *_vm->_screen;
+ Sound &sound = *_vm->_sound;
+
+ // Initial logo display
+ screen.loadPalette("intro1.pal");
+ screen.loadBackground("logobak.raw");
+ screen.saveBackground();
+ screen.update();
+ screen.fadeIn(128);
+
+ SpriteResource logo[2] = {
+ SpriteResource("logo.vga"), SpriteResource("logo1.vga")
+ };
+ sound.playFX(1);
+
+ for (int idx = 0; idx < 80; ++idx) {
+ screen.restoreBackground();
+ logo[idx / 65].draw(screen, idx % 65);
+ screen.update();
+
+ switch (idx) {
+ case 37:
+ sound.playFX(0);
+ sound.playFX(53);
+ sound.playSound("fire.voc");
+ break;
+ case 52:
+ case 60:
+ sound.playFX(3);
+ break;
+ case 64:
+ sound.playFX(2);
+ break;
+ case 66:
+ sound.playFX(52);
+ sound.playSound("meangro&.voc");
+ break;
+ default:
+ break;
+ }
+
+ WAIT(2);
+ }
+
+ screen.restoreBackground();
+ screen.update();
+ WAIT(30);
+
+ screen.fadeOut(8);
+ logo[0].clear();
+ logo[1].clear();
+
return true;
}
bool CloudsCutscenes::showCloudsIntro() {
// TODO
+ EventsManager &events = *_vm->_events;
+ Sound &sound = *_vm->_sound;
+ sound.playSong("mm4theme.m");
+
+ events.wait(5000);
return true;
}
diff --git a/engines/xeen/worldofxeen/worldofxeen.cpp b/engines/xeen/worldofxeen/worldofxeen.cpp
index ccdbf8cf3b..7f29249968 100644
--- a/engines/xeen/worldofxeen/worldofxeen.cpp
+++ b/engines/xeen/worldofxeen/worldofxeen.cpp
@@ -40,7 +40,7 @@ void WorldOfXeenEngine::showIntro() {
if (gDebugLevel == 0)
return;
- showDarkSideEnding();
+ showCloudsTitle();
/*
bool completed = showDarkSideTitle();
if (!_seenDarkSideIntro && completed)