From 18b272da29651f66c6dffb868367bf4076b4878c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 20 Sep 2016 19:46:55 -0400 Subject: XEEN: Added Clouds of Xeen title screen --- engines/xeen/worldofxeen/clouds_cutscenes.cpp | 59 ++++++++++++++++++++++++++- engines/xeen/worldofxeen/worldofxeen.cpp | 2 +- 2 files changed, 59 insertions(+), 2 deletions(-) (limited to 'engines') 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) -- cgit v1.2.3