diff options
Diffstat (limited to 'engines/cruise/cruise.cpp')
-rw-r--r-- | engines/cruise/cruise.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/cruise/cruise.cpp b/engines/cruise/cruise.cpp index 1f5f7d912e..ddedf742fb 100644 --- a/engines/cruise/cruise.cpp +++ b/engines/cruise/cruise.cpp @@ -68,6 +68,8 @@ CruiseEngine::CruiseEngine(OSystem * syst, const CRUISEGameDescription *gameDesc CruiseEngine::~CruiseEngine() { delete _debugger; + delete _music; + freeSystem(); } @@ -108,6 +110,21 @@ void CruiseEngine::initialize() { // another bit of video init readVolCnf(); + + // Setup mixer + _musicVolume = ConfMan.getInt("music_volume"); + _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume")); + _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume")); + + int midiDriver = MidiDriver::detectMusicDriver(MDT_MIDI | MDT_ADLIB | MDT_PREFER_MIDI); + _mt32 = ((midiDriver == MD_MT32) || ConfMan.getBool("native_mt32")); + _adlib = (midiDriver == MD_ADLIB); + + _driver = MidiDriver::createMidi(midiDriver); + if (_mt32) + _driver->property(MidiDriver::PROP_CHANNEL_MASK, 0x03FE); + + _music = new MusicPlayer(); } bool CruiseEngine::loadLanguageStrings() { |