aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agi/agi.cpp10
-rw-r--r--engines/agi/sound.cpp4
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;