aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
diff options
context:
space:
mode:
authorDavid Fioramonti2018-06-24 09:26:58 -0700
committerBastien Bouclet2018-07-15 07:32:47 +0200
commitb1aec443c42e29b156f460f6a77f2356cb38176f (patch)
tree255604bb18494f515fe073c0a45bcb50af6887b3 /engines/mohawk
parent7b817e2f3bba959417177439acf246c5200e7924 (diff)
downloadscummvm-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.cpp11
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();
}