aboutsummaryrefslogtreecommitdiff
path: root/engines/cruise/cruise.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cruise/cruise.cpp')
-rw-r--r--engines/cruise/cruise.cpp17
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() {