aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/scumm/sound.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index 99cbbc9a7d..177847b204 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -164,9 +164,18 @@ void Sound::playSound(int soundID) {
int rate;
byte flags = Audio::Mixer::FLAG_UNSIGNED | Audio::Mixer::FLAG_AUTOFREE;
- // FIXME: Sound resources are currently missing
- if (_vm->_game.id == GID_LOOM && _vm->_game.platform == Common::kPlatformPCEngine)
+ if (_vm->_game.id == GID_LOOM && _vm->_game.platform == Common::kPlatformPCEngine) {
+ if (soundID >= 13 && soundID <= 32) {
+ static const char tracks[20] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 19, 20, 21};
+
+ _currentCDSound = soundID;
+ playCDTrack(tracks[soundID - 13], 1, 0, 0);
+ } else {
+ // FIXME: Sound effect resources are currently missing
+ printf("Sound %d unsupported\n", soundID);
+ }
return;
+ }
debugC(DEBUG_SOUND, "playSound #%d (room %d)", soundID,
_vm->getResourceRoomNr(rtSound, soundID));