diff options
Diffstat (limited to 'engines/mohawk/myst_stacks/myst.cpp')
-rw-r--r-- | engines/mohawk/myst_stacks/myst.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp index 2b8ef94442..70abf0ccd3 100644 --- a/engines/mohawk/myst_stacks/myst.cpp +++ b/engines/mohawk/myst_stacks/myst.cpp @@ -18,9 +18,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $URL$ - * $Id$ - * */ #include "mohawk/cursors.h" @@ -862,7 +859,6 @@ void Myst::o_fireplaceToggleButton(uint16 op, uint16 var, uint16 argc, uint16 *a for (uint i = 4795; i >= 4779; i--) { _vm->_gfx->copyImageToScreen(i, _invokingResource->getRect()); _vm->_system->updateScreen(); - _vm->_system->delayMillis(1); } _fireplaceLines[var - 17] &= ~bitmask; } else { @@ -870,7 +866,6 @@ void Myst::o_fireplaceToggleButton(uint16 op, uint16 var, uint16 argc, uint16 *a for (uint i = 4779; i <= 4795; i++) { _vm->_gfx->copyImageToScreen(i, _invokingResource->getRect()); _vm->_system->updateScreen(); - _vm->_system->delayMillis(1); } _fireplaceLines[var - 17] |= bitmask; } @@ -2844,11 +2839,17 @@ void Myst::clockGearForwardOneStep(uint16 gear) { } void Myst::clockWeightDownOneStep() { + // The Myst ME version of this video is encoded faster than the original + // The weight goes on the floor one step too early. Original ME engine also has this behavior. + bool updateVideo = !(_vm->getFeatures() & GF_ME) || _clockWeightPosition < (2214 - 246); + // Set video bounds - _clockWeightVideo = _vm->_video->playMovie(_vm->wrapMovieFilename("cl1wlfch", kMystStack) , 124, 0); - _vm->_video->setVideoBounds(_clockWeightVideo, - Audio::Timestamp(0, _clockWeightPosition, 600), - Audio::Timestamp(0, _clockWeightPosition + 246, 600)); + if (updateVideo) { + _clockWeightVideo = _vm->_video->playMovie(_vm->wrapMovieFilename("cl1wlfch", kMystStack) , 124, 0); + _vm->_video->setVideoBounds(_clockWeightVideo, + Audio::Timestamp(0, _clockWeightPosition, 600), + Audio::Timestamp(0, _clockWeightPosition + 246, 600)); + } // Increment value by one step _clockWeightPosition += 246; |