diff options
author | Matthew Hoops | 2011-01-11 17:27:47 +0000 |
---|---|---|
committer | Matthew Hoops | 2011-01-11 17:27:47 +0000 |
commit | 1f043e15c759e2f15d5170ce96494800509633c9 (patch) | |
tree | e61b051687ac6bf820d2643b753ddab9b1bbadda /engines/mohawk | |
parent | ee081dc476153a49ac010cbef58039d0a1c4fe15 (diff) | |
download | scummvm-rg350-1f043e15c759e2f15d5170ce96494800509633c9.tar.gz scummvm-rg350-1f043e15c759e2f15d5170ce96494800509633c9.tar.bz2 scummvm-rg350-1f043e15c759e2f15d5170ce96494800509633c9.zip |
MOHAWK: Play the telescope moving video (now that seeking is available :))
svn-id: r55205
Diffstat (limited to 'engines/mohawk')
-rw-r--r-- | engines/mohawk/riven_external.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/engines/mohawk/riven_external.cpp b/engines/mohawk/riven_external.cpp index dc3db08e92..0453952cb9 100644 --- a/engines/mohawk/riven_external.cpp +++ b/engines/mohawk/riven_external.cpp @@ -1885,7 +1885,13 @@ void RivenExternal::xtexterior300_telescopedown(uint16 argc, uint16 *argv) { } else { // We're not at the bottom, and we can move down again - // TODO: Down movie, it involves playing a chunk of a movie + // Play a piece of the moving down movie + static const uint32 timeIntervals[] = { 4320, 3440, 2560, 1760, 880, 0 }; + uint16 movieCode = (*telescopeCover) ? 1 : 2; + VideoHandle handle = _vm->_video->playMovie(movieCode); + _vm->_video->setVideoBounds(handle, Graphics::VideoTimestamp(timeIntervals[*telescopePos], 600), Graphics::VideoTimestamp(timeIntervals[*telescopePos - 1], 600)); + _vm->_sound->playSound(14); // Play the moving sound + _vm->_video->waitUntilMovieEnds(handle); // Now move the telescope down a position and refresh *telescopePos -= 1; @@ -1911,7 +1917,13 @@ void RivenExternal::xtexterior300_telescopeup(uint16 argc, uint16 *argv) { return; } - // TODO: Up movie, it involves playing a chunk of a movie + // Play a piece of the moving up movie + static const uint32 timeIntervals[] = { 0, 800, 1680, 2560, 3440, 4320 }; + uint16 movieCode = (*_vm->getVar("ttelecover")) ? 4 : 5; + VideoHandle handle = _vm->_video->playMovie(movieCode); + _vm->_video->setVideoBounds(handle, Graphics::VideoTimestamp(timeIntervals[*telescopePos - 1], 600), Graphics::VideoTimestamp(timeIntervals[*telescopePos], 600)); + _vm->_sound->playSound(14); // Play the moving sound + _vm->_video->waitUntilMovieEnds(handle); // Now move the telescope up a position and refresh *telescopePos += 1; |