diff options
author | David Fioramonti | 2018-06-24 09:26:58 -0700 |
---|---|---|
committer | Bastien Bouclet | 2018-07-15 07:32:47 +0200 |
commit | b1aec443c42e29b156f460f6a77f2356cb38176f (patch) | |
tree | 255604bb18494f515fe073c0a45bcb50af6887b3 /engines/mohawk | |
parent | 7b817e2f3bba959417177439acf246c5200e7924 (diff) | |
download | scummvm-rg350-b1aec443c42e29b156f460f6a77f2356cb38176f.tar.gz scummvm-rg350-b1aec443c42e29b156f460f6a77f2356cb38176f.tar.bz2 scummvm-rg350-b1aec443c42e29b156f460f6a77f2356cb38176f.zip |
MOHAWK: MYST: Don't set Mech direction when elevator button is pressed
The direction that the fortress is pointing is calculated when
the user locks on using the left throttle (after the gears have
stopped). It also happens when the user hits the button.
There is only a difference in the two behaviors when the user has
changed the direction, but not locked on.
The 2nd case can lead to the direction be different than
what the last locked on direction was. Since the user
can lock the direction to say north, turn it to west, not
lock on and hit the button, which will set the direction
to west. This can lead to confusion since a direction sound
isn't played in this case.
This change removes code, to prevent the recalculation
of the direction when the button is pressed so that direction
is always what it was last locked onto.
Diffstat (limited to 'engines/mohawk')
-rw-r--r-- | engines/mohawk/myst_stacks/mechanical.cpp | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp index 226be6b052..c05ed1b6a2 100644 --- a/engines/mohawk/myst_stacks/mechanical.cpp +++ b/engines/mohawk/myst_stacks/mechanical.cpp @@ -637,16 +637,7 @@ void Mechanical::o_elevatorTopMovie(uint16 var, const ArgumentsArray &args) { } void Mechanical::o_fortressRotationSetPosition(uint16 var, const ArgumentsArray &args) { - VideoEntryPtr gears = _fortressRotationGears->getVideo(); - uint32 moviePosition = Audio::Timestamp(gears->getTime(), 600).totalNumberOfFrames(); - - // Myst ME short movie workaround, explained in o_fortressRotation_init - if (_fortressRotationShortMovieWorkaround) { - moviePosition += 3600 * _fortressRotationShortMovieCount; - } - - _fortressDirection = (moviePosition + 900) / 1800 % 4; - + // The fortress direction is already set in fortressRotation_run() so we don't do it here // Stop the gears video so that it does not play while the elevator is going up _fortressRotationGears->getVideo()->stop(); } |