According to johndoe it's correct to pass the entire coordinate,
rather than just X, to the car in these cases as well. I can't
tell any difference at all in the behavior, but I guess it doesn't
hurt either. After all, we can easily zero the Y coordinate, if we
ever want to.
This is something I found when trying the savegame from bug #6932,
but I still don't know if it actually is that bug.
From what I understand, there are two different cases in the
moveCarToPoint() method: One where you click on a different
section on a track than you're on, and one where you click on the
same section on the track that you're on.
In the latter case, it sends message 0x2004 to the car, which is
then handled by AsCommonCar::handleMessage(). That one will assume
that the parameter is a point, but this can also be encoded as an
integer with 16 bits for the X coordinate and 16 bits for the Y
coordinate. See MessageParam::asPoint().
If we only pass an X coordinate to the message, the Y coordinate
is assumed to be 0, and we do this in a couple of places. I do not
know the exact implications of that, but in the two cases I've
changed here, it meant that clicking on the track below the car
would still make it go up, because it thought you were travelling
towards the top of the screen.
So I think this is the appropriate fix, but even if it is, I do
not know if it's enough or if it should be changed in other places
as well.
When the memory puzzle is reset, each revealed tile gets hidden again.
When a lot of tiles were hidden, the multiple clicking sounds would
fill the available sound slots. To avoid this, only a single click is
sounded when losing
This clears the radio music variable when leaving the room. I've
discussed with johndoe123 and he says this is what the original
does. (You could also get the same effect by clearing it when
entering the room.)
This is the same fix that was applied to getKloggsTextIndex() some
time ago. It restores a missing Willie nonsense letter. While I
haven't actually verified for myself that this letter appears in
the original game, it is referenced in Wikipedia's article about
Absalom.
The getKloggsTextIndex() function would return 40 twice in a row
when wrapping around. This caused one of Willie's nonsense letters
to appear instead, since they're supposed to trigger when
getTextIndex1() returns the same result more than once.
The same bug also appeared (and has been fixed) in getTextIndex3(),
but there it just caused the same nonsense letter to appear twice.
Quoting from the Neverhood wiki: "The Hall of Records is considered to
be one of the longest and most tedious elements of the Neverhood, and
takes approximately nine to ten minutes to walk through".
This option allows the player to just skip past all of these tedious
storyboard scenes