aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus
diff options
context:
space:
mode:
authorMatthew Hoops2013-02-04 19:03:21 -0500
committerMatthew Hoops2013-02-04 19:03:21 -0500
commit83152fd6088f08c238a1d175cfadef847dd7eaac (patch)
tree72a884a96f2b349d625ac01893800a077d02a3a9 /engines/pegasus
parent059f5ee1383bb198f3af3f8c1c6a6514dce33723 (diff)
downloadscummvm-rg350-83152fd6088f08c238a1d175cfadef847dd7eaac.tar.gz
scummvm-rg350-83152fd6088f08c238a1d175cfadef847dd7eaac.tar.bz2
scummvm-rg350-83152fd6088f08c238a1d175cfadef847dd7eaac.zip
PEGASUS: Make the demo menu music start before the splash screen
Diffstat (limited to 'engines/pegasus')
-rw-r--r--engines/pegasus/pegasus.cpp34
1 files changed, 25 insertions, 9 deletions
diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp
index be3fcd5cff..eedfaa7db3 100644
--- a/engines/pegasus/pegasus.cpp
+++ b/engines/pegasus/pegasus.cpp
@@ -691,19 +691,35 @@ void PegasusEngine::receiveNotification(Notification *notification, const Notifi
case kGameStartingFlag: {
useMenu(new MainMenu());
- if (!isDemo()) {
+ if (isDemo()) {
+ // Start playing the music earlier here
+ ((MainMenu *)_gameMenu)->startMainMenuLoop();
+
+ // Show the intro splash screen
+ showTempScreen("Images/Demo/NGsplashScrn.pict");
+
+ if (shouldQuit()) {
+ useMenu(0);
+ return;
+ }
+
+ // Fade out and then back in with the main menu
+ _gfx->doFadeOutSync();
+ _gfx->updateDisplay();
+ _gfx->doFadeInSync();
+ } else {
+ // Display the intro
runIntro();
resetIntroTimer();
- } else {
- showTempScreen("Images/Demo/NGsplashScrn.pict");
- }
- if (shouldQuit())
- return;
+ if (shouldQuit())
+ return;
- _gfx->invalRect(Common::Rect(0, 0, 640, 480));
- _gfx->updateDisplay();
- ((MainMenu *)_gameMenu)->startMainMenuLoop();
+ // Now display the main menu
+ _gfx->invalRect(Common::Rect(0, 0, 640, 480));
+ _gfx->updateDisplay();
+ ((MainMenu *)_gameMenu)->startMainMenuLoop();
+ }
break;
}
case kPlayerDiedFlag: