aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--engines/scumm/players/player_ad.cpp12
2 files changed, 12 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 556e4019c8..7dca707c6e 100644
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,7 @@ For a more comprehensive changelog of the latest experimental code, see:
SCUMM:
- Fixed detection of Maniac Mansion from Day of the Tentacle in the Windows
version of ScummVM.
+ - Fixed a sound effect not stopping in Loom EGA with AdLib.
Broken Sword 2.5:
- Added option to use English speech instead of German one when no speech is
diff --git a/engines/scumm/players/player_ad.cpp b/engines/scumm/players/player_ad.cpp
index 4d4be2c3c2..ec297aa40e 100644
--- a/engines/scumm/players/player_ad.cpp
+++ b/engines/scumm/players/player_ad.cpp
@@ -178,7 +178,17 @@ int Player_AD::getMusicTimer() {
}
int Player_AD::getSoundStatus(int sound) const {
- return (sound == _soundPlaying);
+ if (sound == _soundPlaying) {
+ return true;
+ }
+
+ for (int i = 0; i < ARRAYSIZE(_sfx); ++i) {
+ if (_sfx[i].resource == sound) {
+ return true;
+ }
+ }
+
+ return false;
}
void Player_AD::saveLoadWithSerializer(Serializer *ser) {