diff options
author | Johannes Schickel | 2008-12-14 00:23:46 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-12-14 00:23:46 +0000 |
commit | c75c681175cca1879ad3470cd657b5e8030ed98a (patch) | |
tree | a66d13311ec44cfa2fab49d5824ffdaea701110a /engines/kyra | |
parent | c0a8a13081c880a2bd0f5dc59a10b1874e2d5b4a (diff) | |
download | scummvm-rg350-c75c681175cca1879ad3470cd657b5e8030ed98a.tar.gz scummvm-rg350-c75c681175cca1879ad3470cd657b5e8030ed98a.tar.bz2 scummvm-rg350-c75c681175cca1879ad3470cd657b5e8030ed98a.zip |
Added code to initialize MT-32 properly for Lands of Lore.
svn-id: r35347
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/sound_midi.cpp | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/engines/kyra/sound_midi.cpp b/engines/kyra/sound_midi.cpp index a9b4acc687..b3eb06877d 100644 --- a/engines/kyra/sound_midi.cpp +++ b/engines/kyra/sound_midi.cpp @@ -503,13 +503,29 @@ bool SoundMidiPC::init() { _output->setTimerCallback(this, SoundMidiPC::onTimer); if (_nativeMT32) { + const char *midiFile = 0; + const char *pakFile = 0; if (_vm->gameFlags().gameID == GI_KYRA1) { - loadSoundFile("INTRO"); + midiFile = "INTRO"; } else if (_vm->gameFlags().gameID == GI_KYRA2) { - _vm->resource()->loadPakFile("AUDIO.PAK"); - loadSoundFile("HOF_SYX"); + midiFile = "HOF_SYX"; + pakFile = "AUDIO.PAK"; + } else if (_vm->gameFlags().gameID == GI_LOL) { + midiFile = "LOREINTR"; + + if (_vm->gameFlags().isTalkie) + pakFile = "ENG/STARTUP.PAK"; + else + pakFile = "STARTUP.PAK"; } + if (!midiFile) + return true; + + if (pakFile) + _vm->resource()->loadPakFile(pakFile); + + loadSoundFile(midiFile); playTrack(0); Common::Event event; @@ -519,8 +535,8 @@ bool SoundMidiPC::init() { _vm->_system->delayMillis(10); } - if (_vm->gameFlags().gameID == GI_KYRA2) - _vm->resource()->unloadPakFile("AUDIO.PAK"); + if (pakFile) + _vm->resource()->unloadPakFile(pakFile); } return true; |