aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/video/video.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2010-02-17 23:05:51 +0000
committerMatthew Hoops2010-02-17 23:05:51 +0000
commit3452f5ea2d95e7ff477557a49b89e15c07351bbe (patch)
treeca603714cbce21f4356fd73d8e9a2b2e7d1dfe94 /engines/mohawk/video/video.cpp
parentf0d8084cd5dc61ecc6f6eca996811bb16a8dbbd7 (diff)
downloadscummvm-rg350-3452f5ea2d95e7ff477557a49b89e15c07351bbe.tar.gz
scummvm-rg350-3452f5ea2d95e7ff477557a49b89e15c07351bbe.tar.bz2
scummvm-rg350-3452f5ea2d95e7ff477557a49b89e15c07351bbe.zip
Implement stopMovie() for Riven. Fixes some dome related videos.
svn-id: r48082
Diffstat (limited to 'engines/mohawk/video/video.cpp')
-rw-r--r--engines/mohawk/video/video.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/mohawk/video/video.cpp b/engines/mohawk/video/video.cpp
index f56611807a..c0206a5f06 100644
--- a/engines/mohawk/video/video.cpp
+++ b/engines/mohawk/video/video.cpp
@@ -291,11 +291,15 @@ void VideoManager::playMovieBlocking(uint16 id) {
}
void VideoManager::stopMovie(uint16 id) {
+ debug(2, "Stopping movie %d", id);
for (uint16 i = 0; i < _mlstRecords.size(); i++)
- if (_mlstRecords[i].code == id) {
- warning("STUB: Stop tMOV %d", _mlstRecords[i].movieID);
- return;
- }
+ 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));
+ return;
+ }
}
void VideoManager::enableMovie(uint16 id) {