[Scummvm-git-logs] scummvm master -> be4e4ac84ebbe292680ca61ea85b4f19785c696f
bgK
bastien.bouclet at gmail.com
Sun Jul 15 08:32:35 CEST 2018
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b1aec443c4 MOHAWK: MYST: Don't set Mech direction when elevator button is pressed
bd21a5c0f3 MOHAWK: MYST: Have Mech fortress west direction persists after returning
be4e4ac84e NEWS: Add MOHAWK changes
Commit: b1aec443c42e29b156f460f6a77f2356cb38176f
https://github.com/scummvm/scummvm/commit/b1aec443c42e29b156f460f6a77f2356cb38176f
Author: David Fioramonti (dafioram at gmail.com)
Date: 2018-07-15T07:32:47+02:00
Commit Message:
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.
Changed paths:
engines/mohawk/myst_stacks/mechanical.cpp
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp
index 226be6b..c05ed1b 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();
}
Commit: bd21a5c0f362f93946ce2febeb45176fa5d496dc
https://github.com/scummvm/scummvm/commit/bd21a5c0f362f93946ce2febeb45176fa5d496dc
Author: David Fioramonti (dafioram at gmail.com)
Date: 2018-07-15T07:59:44+02:00
Commit Message:
MOHAWK: MYST: Have Mech fortress west direction persists after returning
Fixes Trac#10575.
When stepping away or pressing the buttom for the mechanical age fortress
rotator after setting it west it would be south. This is because some variables
used for a workaround were being reset everytime the rotator puzzle
was being reinitalized (in o_fortressRotation_int). Which happens when
the player steps back up to the rotator controls.
This change simply removes the variables being reset so they retain
the variables they had before. Those variables are already initalized
in the Mechanical constructor.
Changed paths:
engines/mohawk/myst_stacks/mechanical.cpp
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp
index c05ed1b..1177be6 100644
--- a/engines/mohawk/myst_stacks/mechanical.cpp
+++ b/engines/mohawk/myst_stacks/mechanical.cpp
@@ -815,15 +815,6 @@ void Mechanical::o_fortressRotation_init(uint16 var, const ArgumentsArray &args)
VideoEntryPtr gears = _fortressRotationGears->playMovie();
gears->setLooping(true);
- gears->seek(Audio::Timestamp(0, 1800 * _fortressDirection, 600));
- gears->setRate(0);
-
- _fortressRotationSounds[0] = args[0];
- _fortressRotationSounds[1] = args[1];
- _fortressRotationSounds[2] = args[2];
- _fortressRotationSounds[3] = args[3];
-
- _fortressRotationBrake = 0;
// WORKAROUND for the tower rotation bug in Myst ME.
// The original engine only allowed to visit two out of the three small islands,
@@ -835,12 +826,25 @@ void Mechanical::o_fortressRotation_init(uint16 var, const ArgumentsArray &args)
// looped and adding that time to the current movie position.
// Hence allowing the fortress position to be properly computed.
uint32 movieDuration = gears->getDuration().convertToFramerate(600).totalNumberOfFrames();
- if (movieDuration == 3680) {
- _fortressRotationShortMovieWorkaround = true;
- _fortressRotationShortMovieCount = 0;
- _fortressRotationShortMovieLast = 0;
+ _fortressRotationShortMovieWorkaround = movieDuration == 3680;
+
+ if (!_fortressRotationShortMovieWorkaround) {
+ gears->seek(Audio::Timestamp(0, 1800 * _fortressDirection, 600));
+ } else {
+ _fortressRotationShortMovieLast = 1800 * (_fortressDirection % 2);
+ _fortressRotationShortMovieCount = _fortressDirection >= 2 ? 1 : 0;
+ gears->seek(Audio::Timestamp(0, _fortressRotationShortMovieLast, 600));
}
+ gears->setRate(0);
+
+ _fortressRotationSounds[0] = args[0];
+ _fortressRotationSounds[1] = args[1];
+ _fortressRotationSounds[2] = args[2];
+ _fortressRotationSounds[3] = args[3];
+
+ _fortressRotationBrake = 0;
+
_fortressRotationRunning = true;
_gearsWereRunning = false;
}
Commit: be4e4ac84ebbe292680ca61ea85b4f19785c696f
https://github.com/scummvm/scummvm/commit/be4e4ac84ebbe292680ca61ea85b4f19785c696f
Author: David Fioramonti (dafioram at gmail.com)
Date: 2018-07-15T08:27:33+02:00
Commit Message:
NEWS: Add MOHAWK changes
Changed paths:
NEWS
diff --git a/NEWS b/NEWS
index ad244cc..8edf68f 100644
--- a/NEWS
+++ b/NEWS
@@ -19,9 +19,19 @@ For a more comprehensive changelog of the latest experimental code, see:
- Fixed a bug that leads to enormous memory consumption in scene 22.
MOHAWK:
- - Fixed clicking through the books in the library in Myst 1.0.
- - Fixed video playback if videos are skipped in Riven.
- - Added support for keyboard shortcuts for loading and saving as documented in the game manual.
+ - Added a main menu for the 25th anniversary release of Myst ME.
+ - Repurposed the landing menu as a main menu for the 25th anniversary
+ release of Riven.
+ - Added autosave to slot 0 to Myst and Riven.
+ - Added keyboard shortcuts for loading and saving as documented in the game
+ manual to Myst and Riven.
+ - Fixed a crash caused by the observatory viewer random position going out
+ of bounds in Myst.
+ - Fixed a crash caused by Jungle Island flies going out of bounds in Riven.
+ - Fixed missing end credits for the Polish version in Riven.
+ - Improved usability for some puzzles in Myst and Riven.
+ - Fixed various crashes, graphics glitches, and sound imperfections in Myst
+ and Riven.
SCI:
- Fixed crash in Police Quest IV: Open Season.
More information about the Scummvm-git-logs
mailing list