It's perfectly normal behavior to have locals with a smaller segment ID
than the ID of their respective script, e.g. when scripts are
uninstantiated and then instantiated again
When resetting the segment manager, sometimes the locals block for a
script is placed in a segment smaller than the script itself. This
shouldn't be happening, but it isn't fatal, however it should be resolved
in a proper manner
This makes sure that the workaround works for subclassed objects as well,
such as "theProfessor" talker. Fixes bug #3539350 - "SCI: SQ4 CD -
Crash in sewer when text and speech enabled"
Using Ryan's watch within the game, the watch time always started at
19.30 from point of use, which did not seem correct.
Checking with the original CD and Floppy interpreters under DOSBox
showed they used the current system time, so this was incorrect.
Bisection shows that this regression was introduced by commit
57e940f67896e0f085de23088754fe1682cd49db i.e. "DREAMWEB: Move all saved
variables to a GameVars struct" and was probably a side effect of a
minor call ordering change in the equivalent of setupInitialVars()
with respect to the getTime() call.
However, to ensure no further regressions, it was easier to fix this
by replacing the initial value setting by a getTime() call.
Fixes bug #3539031 - "LURE: Crash at Copy Protection Screen".
This reverts the previous fix which only worked for QWERTY keyboards
and made the issue worse for AZERTY keyboards. It now uses the ASCII
code instead of the keycode for the sanity check.
Fixes bug #3539031 - "LURE: Crash at Copy Protection Screen".
Previously, the code didn't prevent keyboard events with modifiers being
used. Since the ascii values for these were outside the 0-9 numeric
range, this resulted in an invalid frame number being used and thus the
engine aborted at an asertion.
Add a script patch for another speech/subtitles script, which handles
the babble icon shown in the quit/death dialogs (e.g. the two guys from
Andromeda in the quit dialog). Now, these dialogs have speech both in the
speech and the speech + subtitles modes
This furthermore makes the returned time be the wall time instead of UTC.
Thanks to Chris Warren-Smith for testing and improving a patch based
on pull request #248.
The Russian-localized version of an animation contained
an empty frame, added a check to skip the rendering.
Bug #3533291: "TOON: Russian Version Crash at Voice Scanner"