This is only supported since SCI1 middle, as verified with xmas1990, SCI1 mgoose, SQ4 floppy, LSL1, Jones floppy.
Fixes missing sounds in Jones floppy.
This branch contains a number of improvements to how song priorities are
handled. We are now much closer to how SSCI treats priority.
It also increases the SCI savegame version from 31 to 33.
SCI1 sound resources can have an embedded priority. We now use that by
default, unless an explicit DoSound/SetPriority call overrides it.
Thanks waltervn.
This fixes relative priority of songs in at least PQ3 room 29.
Also increase savegame version to 33.
Previously, it would only sort if a song wasn't already in the playlist.
Since initSound already adds it, this effectively prevented the list
from being sorted.
This fixes the delay outside the Frobozz Electric building.
In all other places, delay_render is called with a value
ranging from 1 to 10, so the 100 here looks to be a script
bug, and causes an unnecessary long pause in that scene.
Thus, we're capping the frame delay value to 10.
Fixes an edge case where the player goes to the dark room with the grue
without holding a torch, and then quickly runs away before the grue's
sound effect finishes. Many thanks to eriktorbjorn for the original
workaround
timedMessage() is always called from the scripting system. Which is updated before the rendering system.
Therefore, the message will already be rendered this frame, when the renderingManager->update() is called.
Before this change, text was drawn in black boxes in Zork Nemesis,
so while this does make it look better (and more like the original)
this may actually make the text slightly harder to read. The
original dialogs allowed only upper-case letters, but I think that
it's better to leave that to the player.
It's the key, not the gameid, that is the proper target name. In
my case, the key for that version of MM had the target name
"maniac-old" and gameid "maniac" (can you tell I've messed around
with this file a bit on my own?), so it tried to use "maniac" as
the target, which happened to be the target name for the enhanced
version instead.
When drawing cursor text, don't draw it above the top of the screen,
since this would lead to memory corruption and crashes. I'm not quite
sure this is all of bug #6799 since it also mentioned that "sometimes
simply using a hotspot will be enough", but it's a start.