From e7e26ad7679adde7d9749aa583ee63a432ec1e60 Mon Sep 17 00:00:00 2001 From: Sven Hesse Date: Tue, 14 Aug 2007 00:42:32 +0000 Subject: The talking videos work a bit better now. The sync and coordinates are still screwy svn-id: r28604 --- engines/gob/coktelvideo.cpp | 8 ++++++-- engines/gob/videoplayer.cpp | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/engines/gob/coktelvideo.cpp b/engines/gob/coktelvideo.cpp index 882422dd84..e8a63a6fe7 100644 --- a/engines/gob/coktelvideo.cpp +++ b/engines/gob/coktelvideo.cpp @@ -1068,9 +1068,13 @@ CoktelVideo::State Vmd::processFrame(uint16 frame) { // Next sound slice data if (part.flags == 1) { - if (_soundEnabled) + if (_soundEnabled) { filledSoundSlice(part.size); - else + + if (_soundStage == 1) + startSound = true; + + } else _stream->skip(part.size); // Initial sound data (all slices) diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp index ccf48b792e..905c309023 100644 --- a/engines/gob/videoplayer.cpp +++ b/engines/gob/videoplayer.cpp @@ -177,8 +177,12 @@ void VideoPlayer::play(int16 startFrame, int16 lastFrame, int16 breakKey, endFrame = lastFrame; palCmd &= 0x3F; - if (_video->getCurrentFrame() != startFrame) - _video->seekFrame(startFrame); + if (_video->getCurrentFrame() != startFrame) { + if (_video->getFeatures() & CoktelVideo::kFeaturesSound) + startFrame = _video->getCurrentFrame(); + else + _video->seekFrame(startFrame); + } _vm->_draw->_showCursor = 0; _vm->_util->setFrameRate(12); -- cgit v1.2.3