diff options
author | Matthew Hoops | 2010-02-17 23:05:51 +0000 |
---|---|---|
committer | Matthew Hoops | 2010-02-17 23:05:51 +0000 |
commit | 3452f5ea2d95e7ff477557a49b89e15c07351bbe (patch) | |
tree | ca603714cbce21f4356fd73d8e9a2b2e7d1dfe94 | |
parent | f0d8084cd5dc61ecc6f6eca996811bb16a8dbbd7 (diff) | |
download | scummvm-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
-rw-r--r-- | engines/mohawk/video/video.cpp | 12 |
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) { |