aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/videoplayer.cpp
diff options
context:
space:
mode:
authorSven Hesse2010-08-08 00:41:56 +0000
committerSven Hesse2010-08-08 00:41:56 +0000
commitf19be90c37c3aa402ea7efdc0fc02595fe68a122 (patch)
tree4c36204fc25bb3af47ff578b48a5c906b4978c8e /engines/gob/videoplayer.cpp
parent31ecaa52759e7f471da049bda0162316655a00b8 (diff)
downloadscummvm-rg350-f19be90c37c3aa402ea7efdc0fc02595fe68a122.tar.gz
scummvm-rg350-f19be90c37c3aa402ea7efdc0fc02595fe68a122.tar.bz2
scummvm-rg350-f19be90c37c3aa402ea7efdc0fc02595fe68a122.zip
VIDEO/GOB: Implement IMD loading
svn-id: r51865
Diffstat (limited to 'engines/gob/videoplayer.cpp')
-rw-r--r--engines/gob/videoplayer.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp
index 5ec6c78f6d..99ea4f0b02 100644
--- a/engines/gob/videoplayer.cpp
+++ b/engines/gob/videoplayer.cpp
@@ -156,9 +156,12 @@ int VideoPlayer::openVideo(bool primary, const Common::String &file, Properties
video->decoder->setSurfaceMemory(video->surface->getVidMem(),
video->surface->getWidth(), video->surface->getHeight(), 1);
- if (!ownSurf || (ownSurf && screenSize))
- video->decoder->setXY(properties.x, properties.y);
- else
+ if (!ownSurf || (ownSurf && screenSize)) {
+ if ((properties.x >= 0) && (properties.y >= 0))
+ video->decoder->setXY(properties.x, properties.y);
+ else
+ video->decoder->setXY();
+ } else
video->decoder->setXY(0, 0);
}
@@ -172,7 +175,8 @@ int VideoPlayer::openVideo(bool primary, const Common::String &file, Properties
if (primary)
_needBlit = (properties.flags & kFlagUseBackSurfaceContent) && (properties.sprite == Draw::kFrontSurface);
- video->decoder->setFrameRate(_vm->_util->getFrameRate());
+ if (!video->decoder->hasSound())
+ video->decoder->setFrameRate(_vm->_util->getFrameRate());
WRITE_VAR(7, video->decoder->getFrameCount());