diff options
Diffstat (limited to 'engines/agos/input.cpp')
-rw-r--r-- | engines/agos/input.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/engines/agos/input.cpp b/engines/agos/input.cpp index 3f2efc86b4..0d5a185026 100644 --- a/engines/agos/input.cpp +++ b/engines/agos/input.cpp @@ -558,21 +558,33 @@ bool AGOSEngine::processSpecialKeys() { _speech ^= 1; } case '+': - _midi.setVolume(_midi.getVolume() + 16); + if ((getPlatform() == Common::kPlatformAcorn && (getFeatures() & GF_TALKIE)) || + getPlatform() == Common::kPlatformPC || getPlatform() == Common::kPlatformWindows) { + _midi.setVolume(_midi.getVolume() + 16); + } _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, _mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType) + 16); break; case '-': - _midi.setVolume(_midi.getVolume() - 16); + if ((getPlatform() == Common::kPlatformAcorn && (getFeatures() & GF_TALKIE)) || + getPlatform() == Common::kPlatformPC || getPlatform() == Common::kPlatformWindows) { + _midi.setVolume(_midi.getVolume() - 16); + } _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, _mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType) - 16); break; case 'm': - _midi.pause(_musicPaused ^= 1); + if ((getPlatform() == Common::kPlatformAcorn && (getFeatures() & GF_TALKIE)) || + getPlatform() == Common::kPlatformPC || getPlatform() == Common::kPlatformWindows) { + _midi.pause(_musicPaused ^= 1); + } else { + // TODO + } break; case 's': - if (getGameId() == GID_SIMON1DOS) + if (getGameId() == GID_SIMON1DOS) { _midi._enable_sfx ^= 1; - else + } else { _sound->effectsPause(_effectsPaused ^= 1); + } break; case 'b': _sound->ambientPause(_ambientPaused ^= 1); |