aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/agi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agi/agi.cpp')
-rw-r--r--engines/agi/agi.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index ec8c819ab3..d9fe32ba23 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -677,13 +677,20 @@ void AgiEngine::initialize() {
// drivers, and I'm not sure what they are. For now, they might
// as well be called "PC Speaker" and "Not PC Speaker".
- switch (MidiDriver::detectMusicDriver(MDT_PCSPK)) {
- case MD_PCSPK:
- _soundemu = SOUND_EMU_PC;
- break;
- default:
- _soundemu = SOUND_EMU_NONE;
- break;
+ // If used platform is Apple IIGS then we must use Apple IIGS sound emulation
+ // because Apple IIGS AGI games use only Apple IIGS specific sound resources.
+ if (ConfMan.hasKey("platform") &&
+ Common::parsePlatform(ConfMan.get("platform")) == Common::kPlatformApple2GS) {
+ _soundemu = SOUND_EMU_APPLE2GS;
+ } else {
+ switch (MidiDriver::detectMusicDriver(MDT_PCSPK)) {
+ case MD_PCSPK:
+ _soundemu = SOUND_EMU_PC;
+ break;
+ default:
+ _soundemu = SOUND_EMU_NONE;
+ break;
+ }
}
if (ConfMan.hasKey("render_mode")) {