diff options
author | Paul Gilbert | 2016-09-20 19:46:55 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-09-20 19:46:55 -0400 |
commit | 18b272da29651f66c6dffb868367bf4076b4878c (patch) | |
tree | 82b57210568d93ef8373e5a3a1f14cfd00f55293 /engines | |
parent | b1901e9bd18e3c73e6a1ca37dbab9d2354e6c430 (diff) | |
download | scummvm-rg350-18b272da29651f66c6dffb868367bf4076b4878c.tar.gz scummvm-rg350-18b272da29651f66c6dffb868367bf4076b4878c.tar.bz2 scummvm-rg350-18b272da29651f66c6dffb868367bf4076b4878c.zip |
XEEN: Added Clouds of Xeen title screen
Diffstat (limited to 'engines')
-rw-r--r-- | engines/xeen/worldofxeen/clouds_cutscenes.cpp | 59 | ||||
-rw-r--r-- | engines/xeen/worldofxeen/worldofxeen.cpp | 2 |
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) |