aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/gob/coktelvideo.cpp8
-rw-r--r--engines/gob/videoplayer.cpp8
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);