aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/sound.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2011-08-03 05:06:29 +0200
committerJohannes Schickel2011-08-03 05:10:24 +0200
commite1d881a2276483eac64051336e790f10843fa0f6 (patch)
tree62e4b492c508db70e6e5423cf27b19c2d23d4d57 /engines/scumm/sound.cpp
parent7e7e6069193fead17d0865d252400b6826805ffc (diff)
downloadscummvm-rg350-e1d881a2276483eac64051336e790f10843fa0f6.tar.gz
scummvm-rg350-e1d881a2276483eac64051336e790f10843fa0f6.tar.bz2
scummvm-rg350-e1d881a2276483eac64051336e790f10843fa0f6.zip
SCUMM: Added FIXME to our old AdLib resource conversion code.
We handle command 0x80 incorrectly, which results in sound effects never looping. This is the cause for bug #2027877 for example. I add this FIXME since it is (probably) non-trivial to fix and so it won't be forgotten.
Diffstat (limited to 'engines/scumm/sound.cpp')
-rw-r--r--engines/scumm/sound.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index c3cad19fdc..f5c9390145 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -1997,6 +1997,14 @@ static void convertADResource(ResourceManager *res, const GameSettings& game, Re
break;
case 0x80:
+ // FIXME: This is incorrect. The original uses 0x80 for
+ // looping a single channel. We currently interpret it as stop
+ // thus we won't get looping for sound effects. It should
+ // always jump to the start of the channel.
+ //
+ // Since we convert the data to MIDI and we can not ony loop a
+ // single channel via MIDI fixing this will require some more
+ // thought.
track_time[ch] = -1;
src_ptr ++;
break;