aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_stacks/myst.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2011-01-11 20:00:57 +0000
committerBastien Bouclet2011-01-11 20:00:57 +0000
commitf3f3b3bd62992a058891e22b7feee0109aab937e (patch)
tree6d98c37d3e351d6c366bd8630e35e8dc9b1cfa09 /engines/mohawk/myst_stacks/myst.cpp
parentb1de27ed8f54b7321eaee165f69c90ac73d262f7 (diff)
downloadscummvm-rg350-f3f3b3bd62992a058891e22b7feee0109aab937e.tar.gz
scummvm-rg350-f3f3b3bd62992a058891e22b7feee0109aab937e.tar.bz2
scummvm-rg350-f3f3b3bd62992a058891e22b7feee0109aab937e.zip
MOHAWK: Play the right parts of Myst's tower clock bridge movie
svn-id: r55209
Diffstat (limited to 'engines/mohawk/myst_stacks/myst.cpp')
-rw-r--r--engines/mohawk/myst_stacks/myst.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp
index adfb195fc9..7a163064c3 100644
--- a/engines/mohawk/myst_stacks/myst.cpp
+++ b/engines/mohawk/myst_stacks/myst.cpp
@@ -1103,8 +1103,11 @@ void MystScriptParser_Myst::o_clockWheelsExecute(uint16 op, uint16 var, uint16 a
_vm->_sound->replaceSound(soundId);
_vm->_system->delayMillis(500);
- // TODO: Play only 1st half of movie i.e. gears rise up, from 0 to 650
- _vm->_video->playMovie(_vm->wrapMovieFilename("gears", kMystStack), 305, 33);
+ // Gears rise up
+ VideoHandle gears = _vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("gears", kMystStack), 305, 33);
+ _vm->_video->setVideoBounds(gears, Graphics::VideoTimestamp(0, 600), Graphics::VideoTimestamp(650, 600));
+ _vm->_video->waitUntilMovieEnds(gears);
+
_state.clockTowerBridgeOpen = 1;
_vm->redrawArea(12);
@@ -1112,8 +1115,10 @@ void MystScriptParser_Myst::o_clockWheelsExecute(uint16 op, uint16 var, uint16 a
_vm->_sound->replaceSound(soundId);
_vm->_system->delayMillis(500);
- // TODO: Play only 2nd half of movie i.e. gears sink down, from 700 to 1300
- _vm->_video->playMovie(_vm->wrapMovieFilename("gears", kMystStack), 305, 33);
+ // Gears sink down
+ VideoHandle gears = _vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("gears", kMystStack), 305, 33);
+ _vm->_video->setVideoBounds(gears, Graphics::VideoTimestamp(700, 600), Graphics::VideoTimestamp(1300, 600));
+ _vm->_video->waitUntilMovieEnds(gears);
_state.clockTowerBridgeOpen = 0;
_vm->redrawArea(12);