From b1aec443c42e29b156f460f6a77f2356cb38176f Mon Sep 17 00:00:00 2001 From: David Fioramonti Date: Sun, 24 Jun 2018 09:26:58 -0700 Subject: 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. --- engines/mohawk/myst_stacks/mechanical.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'engines/mohawk') 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(); } -- cgit v1.2.3