diff options
author | Johannes Schickel | 2011-08-03 05:06:29 +0200 |
---|---|---|
committer | Johannes Schickel | 2011-08-03 05:10:24 +0200 |
commit | e1d881a2276483eac64051336e790f10843fa0f6 (patch) | |
tree | 62e4b492c508db70e6e5423cf27b19c2d23d4d57 /engines | |
parent | 7e7e6069193fead17d0865d252400b6826805ffc (diff) | |
download | scummvm-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')
-rw-r--r-- | engines/scumm/sound.cpp | 8 |
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; |