#6665 closed defect (fixed)
SIMON1: Music in floppy does not loop after sound-effect
Reported by: | SF/apprentice-fu | Owned by: | Kirben |
---|---|---|---|
Priority: | normal | Component: | Engine: AGOS |
Version: | Keywords: | ||
Cc: | Game: | Simon the Sorcerer 1 |
Description
ScummVM 1.7.0git7802-gae26f95 (self-compiled with Linux and build bot version with Win32) Tested with German and English versions. Only the floppy versions seem to be affected. Tested with daily build on Windows and self-compiled on Linux
In the floppy versions the music will not loop after a sound-effect has played with the current music. If another sound-effect is played the music can be heard for another loop. If the music changes to another piece it will loop again.
Steps to reproduce: After the Intro: Open the drawer and wait (the music is approx. 2 min. long) Pick up scissors for another loop.
The Fiery Pits of Rondor when Sordid tries to light them is another good scene, because the music piece is short and there is a constant source of sound-effects. You just have to wait. (a save game at this point is attached)
This behaviour is also present in version 1.4.1 (Ubuntu) and 1.6 (Win32). I could not reproduce it with the German version under DOSBox.
This might be a duplicate of #4738, but the steps to reproduce the behaviour are not identical.
Ticket imported from: bugs/6665.
Attachments (2)
Change History (8)
by , 10 years ago
Attachment: | simon1.020 added |
---|
comment:1 by , 10 years ago
by , 10 years ago
Attachment: | simon-looping.txt added |
---|
comment:2 by , 10 years ago
Here's one possible fix, but at the very least it will require some testing.
comment:3 by , 10 years ago
My proposed fix for this was accepted very recently, so this bug should hopefully be gone now.
comment:4 by , 10 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:5 by , 9 years ago
Owner: | changed from | to
---|
comment:6 by , 9 years ago
The previous solution had to be reverted, since it caused music looping regressions in Simon the Sorcerer 2.
The problem was actually caused when the looping flag was enabled for sound effects, since no sound effect actually makes any use of looping. A mistake I made long ago, in svn revision 22907. Reverting that change, fixed the problem.
I looked at the code (and used a debugger) and think the problem is in engines/agos/midi.cpp the line 433 midi.h says that _loopTrack is only for music, but it also set when a special effect is loaded.
Perhaps a if (!sfx) before that line?