aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/lol.cpp8
-rw-r--r--engines/kyra/sequences_lol.cpp13
2 files changed, 7 insertions, 14 deletions
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index 30687e8101..2834e179f4 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -535,7 +535,6 @@ Common::Error LoLEngine::init() {
Common::Error LoLEngine::go() {
setupPrologueData(true);
- _sound->setSoundList(&_soundData[kMusicIntro]);
if (!saveFileLoadable(0) || _flags.isDemo)
showIntro();
@@ -612,10 +611,13 @@ Common::Error LoLEngine::go() {
_tim = new TIMInterpreter_LoL(this, _screen, _system);
assert(_tim);
- if (!shouldQuit() && (processSelection == 0 || processSelection == 3))
+ if (shouldQuit())
+ return Common::kNoError;
+
+ if (processSelection == 0 || processSelection == 3)
startup();
- if (!shouldQuit() && processSelection == 0)
+ if (processSelection == 0)
startupNew();
if (!shouldQuit() && (processSelection == 0 || processSelection == 3)) {
diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp
index 6375b614fe..33d1a30f87 100644
--- a/engines/kyra/sequences_lol.cpp
+++ b/engines/kyra/sequences_lol.cpp
@@ -89,6 +89,7 @@ void LoLEngine::setupPrologueData(bool load) {
memset(_selectionAnimTimers, 0, sizeof(_selectionAnimTimers));
memset(_screen->getPalette(1), 0, 768);
+ _sound->setSoundList(&_soundData[kMusicIntro]);
} else {
delete _chargenWSA; _chargenWSA = 0;
@@ -99,21 +100,11 @@ void LoLEngine::setupPrologueData(bool load) {
memset(pal, 0, 768);
_screen->setScreenPalette(pal);
- // TODO: We need to check if the SYSEX events of intro and ingame differ.
- // If they differ, we really need to setup the proper ingame SYSEX when starting
- // the game. But the proper place to do it would not be in this function.
- /*if (_sound->getMusicType() == Sound::kMidiMT32 || _sound->getSfxType() == Sound::kMidiMT32) {
- _sound->loadSoundFile("LOLSYSEX");
- _sound->playTrack(0);
-
- while (_sound->isPlaying() && !shouldQuit())
- delay(10);
- }*/
-
if (shouldQuit())
return;
_eventList.clear();
+ _sound->setSoundList(0);
}
// We have three sound.dat files, one for the intro, one for the