aboutsummaryrefslogtreecommitdiff
path: root/engines/access/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/access/sound.cpp')
-rw-r--r--engines/access/sound.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/engines/access/sound.cpp b/engines/access/sound.cpp
index 69133d082d..51ffb88f37 100644
--- a/engines/access/sound.cpp
+++ b/engines/access/sound.cpp
@@ -200,6 +200,7 @@ MusicManager::MusicManager(AccessEngine *vm) : _vm(vm) {
_tempMusic = nullptr;
_isLooping = false;
_driver = nullptr;
+ _byte1F781 = false;
MidiDriver::DeviceHandle dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_MT32);
MusicType musicType = MidiDriver::getMusicType(dev);
@@ -212,13 +213,17 @@ MusicManager::MusicManager(AccessEngine *vm) : _vm(vm) {
//
switch (musicType) {
case MT_ADLIB: {
- Resource *midiDrvResource = _vm->_files->loadFile(92, 1);
- Common::MemoryReadStream *adLibInstrumentStream = new Common::MemoryReadStream(midiDrvResource->data(), midiDrvResource->_size);
+ if (_vm->getGameID() == GType_Amazon) {
+ Resource *midiDrvResource = _vm->_files->loadFile(92, 1);
+ Common::MemoryReadStream *adLibInstrumentStream = new Common::MemoryReadStream(midiDrvResource->data(), midiDrvResource->_size);
- _driver = Audio::MidiDriver_Miles_AdLib_create("", "", adLibInstrumentStream);
+ _driver = Audio::MidiDriver_Miles_AdLib_create("", "", adLibInstrumentStream);
- delete midiDrvResource;
- delete adLibInstrumentStream;
+ delete midiDrvResource;
+ delete adLibInstrumentStream;
+ } else {
+ MidiPlayer::createDriver();
+ }
break;
}
case MT_MT32: