This is what the original game does too, and the scripts query for
all-uppercase CD track names.
Interestingly, this being wrong has been mostly inconsequential. It
does, however, manifest in one bug in the underwater wreck level of
Gobliins 2. After calling the Moray Eel by lighting the lamp with
Winkle, speaking to said eel has the scripts wait for the currently
playing background track to end before playing the voice lines,
instead of ending the audio track forcefully. The track is only about
a minute long, so it's "only" annoying, not a game-stopper.
The scripts also try to compare the CD track name with some different,
all-uppercase names, so this is possibly relevant in some other places
as well. No such bug report exists at the moment, though.
See also the forum post with the bug report:
http://forums.scummvm.org/viewtopic.php?p=81733#81733
A somewhat related bug report is #2999 "GOB2 : Moray Eel Game Freeze
(Wreck Scene)" (<http://sourceforge.net/p/scummvm/bugs/2999/>). At
that time, the script expression parser still did a stricmp for the
NEQ expression (which is wrong), and that made the bug not trigger.
Commit 5c58b9a3a4a8848474aba18c02c0da997fb138a2, which fixed that
incorrect NEQ behaviour, then made this bug here appear.
This is consistent with what happens when checking for "pending U
keys", so I think it's correct, but the Scalpel keyboard handling
doesn't work very well at the moment anyway. Probably at least partly
because of the way it mixes char and Common::KeyCode. I haven't
been able to wrap my head around it...
Instead of taking a room number (which didn't work in Rose Tattoo),
it now takes a song name. To see which songs are available, use the
"songs" command.
Note that this is still only works for Serrated Scalpel, since I
haven't implemented getting a list of available songs for Rose
Tattoo. I need to study the resource manager a bit first...
The original relied on the delay loading the resources for the scene
to show the image for a few seconds, but since scene loading is so
much faster now, introduce an extra delay to keep it briefly on-screen
Somewhat unusually, the cutscene for the monkey stealing Hodgkins
cap (wilb29a.tlk) is ended immediately after they both run off-screen,
but the characters aren't properly marked as hidden until several
seconds later when another script, 30cuend, is called. If a user
saved the game really quickly before 30cuend is fired, it can leave
the game in an in-consistent state. This commit fixes that by forcing
the WAIT cursor to remain active until 30cuend has executed.
Calls to cmdPauseWithoutControl can allow a second script to run,
with it's own filename. This shouldn't change the filename for
the outer call to talkTo
This applies to make both games match the originals. This is particularly
important for Rose Tattoo, since there are several times Sherlock plays
instruments, and the animations need to sync up with the music
If a script was paused via a call to cmdPauseWithoutControl, and during
this a second script is called and finishes, the first script was
also being terminated prematurely