In D'ni, after giving the white page to Atrus, or after coming without a
page, too videos of Atrus would play on top of each other after waiting
long enough for the first video to loop.
Fixes#10503.
The global variable "ending" tracks various
states that Atrus can be in.
This variable determines what video of
Atrus will be playing and if the brother
books have been destroyed.
Despite this variable being called ending
there are other endings not captured by
this variable (like the brother endings).
Also change spelling of Dini to Dni for one
usage of ActiveAge from a previous commit.
This global basically tracks what age/book/stack
the player is in.
It is also used to change stacks via
MohawkEngine_Myst::changeToStack() by
being an index for MystScriptParser::_stackMap
and MystScriptParser::_startCard.
E.x., instead of _global.currentAge = 2
now _global.currentAge = kMystLibrary.
Also two of the endings are considered Ages
instead of being apart of _global.ending.
The new approach is to delay kAnimate briefly (with an 68ms timeout)
while there is a zero-tick PalVary running, so that it has time to
trigger.
The previous workaround would immediately process a zero-tick
PalVaryInit/PalVaryReverse. This caused problems in QfG3 (bug #10304)
where it interfered with PalVaryPause.
The previous workaround could also be modified to handle pause/resume,
but this new approach should be closer to SSCI's behaviour, which used a
timer for a zero-tick PalVary too.
This fixes bug #10304, and keeps #5298 fixed too.
This was a miss in commit 00e59a3122. The new parameter was supposed
to be called skipThumbnail and default to true instead.
For consistency's sake (the rest of the tree uses skipThumbnail, not
loadThumbnail) I'm reverting this and will separately update the
declaration to how it should have been from the beginning.
Thanks dreammaster!
In the original the sound reciever would provide a hint of the
source sound direction when the user was less than 5 degrees
away. In ScummVM it was less than or equal to 5 degrees.
Now it matches the behavior of the original.
This slows down the Selentic age sound receiver spin rate
when fully depressing either of the turn buttons.
This is a deviation from the original and improves
the users experience.
In the original when the button is fully depressed
the receiver turns so fast that it is impossible
to predict what angle you full be at when you let go.