diff options
-rw-r--r-- | engines/agi/agi.cpp | 10 | ||||
-rw-r--r-- | engines/agi/sound.cpp | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp index 559e2243bd..508f473609 100644 --- a/engines/agi/agi.cpp +++ b/engines/agi/agi.cpp @@ -578,17 +578,23 @@ void AgiEngine::initialize() { } else if (getPlatform() == Common::kPlatformCoCo3) { _soundemu = SOUND_EMU_COCO3; } else { - switch (MidiDriver::getMusicType(MidiDriver::detectDevice(MDT_PCSPK|MDT_AMIGA|MDT_PCJR|MDT_MIDI))) { + switch (MidiDriver::getMusicType(MidiDriver::detectDevice(MDT_PCSPK|MDT_AMIGA|MDT_ADLIB|MDT_PCJR|MDT_MIDI))) { case MT_PCSPK: _soundemu = SOUND_EMU_PC; break; - case MT_PCJR: + case MT_ADLIB: + // Default sound is the proper PCJr emulation _soundemu = SOUND_EMU_PCJR; break; + case MT_PCJR: + // Under PCJr Sarien emu is disguised + _soundemu = SOUND_EMU_NONE; + break; case MT_AMIGA: _soundemu = SOUND_EMU_AMIGA; break; default: + debug(0, "DEF"); _soundemu = SOUND_EMU_MIDI; break; } diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp index 5725cf2f84..b215822917 100644 --- a/engines/agi/sound.cpp +++ b/engines/agi/sound.cpp @@ -173,12 +173,12 @@ SoundMgr::SoundMgr(AgiEngine *agi, Audio::Mixer *pMixer) { _playingSound = -1; switch (_vm->_soundemu) { + case SOUND_EMU_NONE: case SOUND_EMU_AMIGA: case SOUND_EMU_MAC: + case SOUND_EMU_PC: _soundGen = new SoundGenSarien(_vm, pMixer); break; - case SOUND_EMU_NONE: - case SOUND_EMU_PC: case SOUND_EMU_PCJR: _soundGen = new SoundGenPCJr(_vm, pMixer); break; |