aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorSven Hesse2007-08-14 00:42:32 +0000
committerSven Hesse2007-08-14 00:42:32 +0000
commite7e26ad7679adde7d9749aa583ee63a432ec1e60 (patch)
tree04cb3d025bbc03a149bf15b86bd858a852cb9b96 /engines
parent3c43ebd49f08c5d41aca61576d1a08e2957c9eb6 (diff)
downloadscummvm-rg350-e7e26ad7679adde7d9749aa583ee63a432ec1e60.tar.gz
scummvm-rg350-e7e26ad7679adde7d9749aa583ee63a432ec1e60.tar.bz2
scummvm-rg350-e7e26ad7679adde7d9749aa583ee63a432ec1e60.zip
The talking videos work a bit better now. The sync and coordinates are still screwy
svn-id: r28604
Diffstat (limited to 'engines')
-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);