aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sound
diff options
context:
space:
mode:
authorathrxx2019-02-19 18:30:53 +0100
committerathrxx2019-03-06 20:48:23 +0100
commit30ed036f6e42d9f4caa9d0eafe343e72cc318c66 (patch)
treeb7a2c5a2f9e4ba9e94b83ad85b4dd048b634968d /engines/kyra/sound
parente907965d81456c1612777499d52b253cbd7c059d (diff)
downloadscummvm-rg350-30ed036f6e42d9f4caa9d0eafe343e72cc318c66.tar.gz
scummvm-rg350-30ed036f6e42d9f4caa9d0eafe343e72cc318c66.tar.bz2
scummvm-rg350-30ed036f6e42d9f4caa9d0eafe343e72cc318c66.zip
KYRA: (EOB1/Amiga) - fix environmental sfx
Diffstat (limited to 'engines/kyra/sound')
-rw-r--r--engines/kyra/sound/sound_amiga_eob.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/engines/kyra/sound/sound_amiga_eob.cpp b/engines/kyra/sound/sound_amiga_eob.cpp
index de8bf220a1..800772408f 100644
--- a/engines/kyra/sound/sound_amiga_eob.cpp
+++ b/engines/kyra/sound/sound_amiga_eob.cpp
@@ -139,9 +139,9 @@ void SoundAmiga_EoB::playTrack(uint8 track) {
if (_vm->game() == GI_EOB1) {
if (_currentResourceSet == kMusicIntro) {
if (track == 1)
- newSound = "newintro1.smus";
+ newSound = "NEWINTRO1.SMUS";
else if (track == 20)
- newSound = "chargen1.smus";
+ newSound = "CHARGEN1.SMUS";
}
} else if (_vm->game() == GI_EOB2) {
@@ -168,7 +168,20 @@ void SoundAmiga_EoB::playSoundEffect(uint8 track, uint8 volume) {
Common::String newSound = _resInfo[_currentResourceSet]->soundList[track];
if (!newSound.empty()) {
- _driver->startSound(newSound);
+ if (volume == 255) {
+ if (_driver->startSound(newSound + "1.SAM")) {
+ _lastSound = newSound + "1.SAM";
+ return;
+ } else {
+ volume = 1;
+ }
+ }
+
+ if (volume > 0 && volume < 5) {
+ newSound = Common::String::format("%s%d", newSound.c_str(), volume);
+ _driver->startSound(newSound);
+ }
+
_lastSound = newSound;
}
}