aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2010-05-26 13:11:04 +0000
committerMatthew Hoops2010-05-26 13:11:04 +0000
commit163847b24572ff5425f5ab4256ab1349c9840a74 (patch)
tree10cf15e7ca8c06542087135348de4d57bc2ab6e7
parentf2dda51943c0a34315babb8241c1f12fe3f5d658 (diff)
downloadscummvm-rg350-163847b24572ff5425f5ab4256ab1349c9840a74.tar.gz
scummvm-rg350-163847b24572ff5425f5ab4256ab1349c9840a74.tar.bz2
scummvm-rg350-163847b24572ff5425f5ab4256ab1349c9840a74.zip
Fix the 'boiling water' videos in the boiler puzzle.
svn-id: r49237
-rw-r--r--engines/mohawk/riven_external.cpp7
-rw-r--r--engines/mohawk/riven_scripts.cpp3
-rw-r--r--engines/mohawk/video.cpp6
3 files changed, 9 insertions, 7 deletions
diff --git a/engines/mohawk/riven_external.cpp b/engines/mohawk/riven_external.cpp
index 184761318f..fd70de517f 100644
--- a/engines/mohawk/riven_external.cpp
+++ b/engines/mohawk/riven_external.cpp
@@ -537,13 +537,14 @@ void RivenExternal::xbupdateboiler(uint16 argc, uint16 *argv) {
if (heat) {
if (platform == 0) {
_vm->_video->activateMLST(7, _vm->getCurCard());
- // TODO: Play video (non-blocking)
+ _vm->_video->playMovie(7);
} else {
_vm->_video->activateMLST(8, _vm->getCurCard());
- // TODO: Play video (non-blocking)
+ _vm->_video->playMovie(8);
}
} else {
- // TODO: Stop MLST's 7 and 8
+ _vm->_video->stopMovie(7);
+ _vm->_video->stopMovie(8);
}
_vm->refreshCard();
diff --git a/engines/mohawk/riven_scripts.cpp b/engines/mohawk/riven_scripts.cpp
index fa6f336542..b175b3af52 100644
--- a/engines/mohawk/riven_scripts.cpp
+++ b/engines/mohawk/riven_scripts.cpp
@@ -547,9 +547,8 @@ void RivenScript::activateSLST(uint16 op, uint16 argc, uint16 *argv) {
// Command 41: activate MLST record and play
void RivenScript::activateMLSTAndPlay(uint16 op, uint16 argc, uint16 *argv) {
- _vm->_video->enableMovie(argv[0] - 1);
_vm->_video->activateMLST(argv[0], _vm->getCurCard());
- // TODO: Play movie (blocking?)
+ _vm->_video->playMovie(argv[0]);
}
// Command 43: activate BLST record (card hotspot enabling lists)
diff --git a/engines/mohawk/video.cpp b/engines/mohawk/video.cpp
index 3a86e0323b..beef312876 100644
--- a/engines/mohawk/video.cpp
+++ b/engines/mohawk/video.cpp
@@ -277,8 +277,10 @@ void VideoManager::stopMovie(uint16 id) {
if (_mlstRecords[i].code == id)
for (uint16 j = 0; j < _videoStreams.size(); j++)
if (_mlstRecords[i].movieID == _videoStreams[j].id) {
- delete _videoStreams[i].video;
- memset(&_videoStreams[i].video, 0, sizeof(VideoEntry));
+ delete _videoStreams[j].video;
+ _videoStreams[j].video = 0;
+ _videoStreams[j].id = 0;
+ _videoStreams[j].filename.clear();
return;
}
}