After listening to the original music in a Mac emulator (which
unfortunately doesn't handle the music very well), I can only
conclude that note value 1 means the note should continue playing.
At first I thought maybe it was supposed to fade the current note,
or perhaps change its volume, but I can't hear any traces of
either. So I'm going to assume it just means "hold the current
note", though for the life of me I cannot think of any valid
reason for such a command. So it may be wrong, but it sounds
closer to the emulator than it did before.
I completely forgot to delete the dummy iMUSE object after using it
to skip over the old music save information. Thanks to Lordhoto for
pointing this out.
The scrollbar handle was one pixel too far to the left, and the
topmost position was off by one as well. I've verified this to the
best of my ability. I've compared it visually in DOSBox (which is
a bit tricky for Discworld 2, but I think it's right now), and
against the initial Tinsel v1 source code that was added to
ScummVM. I don't know what the initial Tinsel v2 source code
looked like, though.
Adjusted NM_SLIDE_INSET and NM_SLIDE_THICKNESS to make the inventory
scrollbar work as it did before Tinsel v1 and v2 were combined. The
scrollbar worked before, but you had to click a bit to the left of
it to operate it. It's the only place in the code where these
constants are used, so it should not break anything else.
This variable is likely to be used in the future if the associated
TODO is implemented, so this warning is inhibited by adding a debug()
output statement.
I used this command for changing "const type * const" to "const type *const":
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/const \([a-zA-Z0-9_]*\) \* const/const \1 \*const/g'
Initialise _channel[] even when the instruments aren't available.
Otherwise, ScummVM will crash in a number of places including,
but not limited to, when loading savegames.
After some discussion on #scummvm, the player now locks the sound
resource while the music is playing. This prevents the resource
manager from expiring the resource, which at best could cause
music to restart where it shouldn't.. At worst, I guess it could
have crashed, but I never saw that happen.