diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/scumm/players/player_ad.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/scumm/players/player_ad.cpp b/engines/scumm/players/player_ad.cpp index 7596a3fa7a..fdd62555ff 100644 --- a/engines/scumm/players/player_ad.cpp +++ b/engines/scumm/players/player_ad.cpp @@ -121,6 +121,11 @@ void Player_AD::startSound(int sound) { if (_sfx[channel].resource != -1) { if (_sfx[channel].priority > priority) { return; + } else { + // If we overwrite a channel we will properly stop the old + // sfx slot first. This makes sure that the resource is + // unlocked properly. + stopSfx(&_sfx[channel]); } } |