aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/coktel_decoder.cpp
diff options
context:
space:
mode:
authorSven Hesse2011-01-18 07:03:12 +0000
committerSven Hesse2011-01-18 07:03:12 +0000
commit94f5bec0f61f68f797534b5ee516efafeaa1eedd (patch)
treeaf8f7264e223c72f75ecd4e7194c352cc785c786 /graphics/video/coktel_decoder.cpp
parentdd01e4c303241d04096149cc978af0a049beca6d (diff)
downloadscummvm-rg350-94f5bec0f61f68f797534b5ee516efafeaa1eedd.tar.gz
scummvm-rg350-94f5bec0f61f68f797534b5ee516efafeaa1eedd.tar.bz2
scummvm-rg350-94f5bec0f61f68f797534b5ee516efafeaa1eedd.zip
GOB: Fix Woodruff video offsets
svn-id: r55288
Diffstat (limited to 'graphics/video/coktel_decoder.cpp')
-rw-r--r--graphics/video/coktel_decoder.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/graphics/video/coktel_decoder.cpp b/graphics/video/coktel_decoder.cpp
index 97dfebb0a7..bd09127c14 100644
--- a/graphics/video/coktel_decoder.cpp
+++ b/graphics/video/coktel_decoder.cpp
@@ -2171,7 +2171,16 @@ bool VMDDecoder::renderFrame(Common::Rect &rect) {
Common::Rect realRect = rect;
Common::Rect fakeRect = rect;
- if ((_blitMode == 1) || (_blitMode == 3)) {
+ if (_blitMode == 0) {
+
+ realRect = Common::Rect(realRect.left - _x, realRect.top - _y,
+ realRect.right - _x, realRect.bottom - _y);
+
+ fakeRect = Common::Rect(fakeRect.left - _x, fakeRect.top - _y,
+ fakeRect.right - _x, fakeRect.bottom - _y);
+
+ } else if ((_blitMode == 1) || (_blitMode == 3)) {
+
realRect = Common::Rect(rect.left / _bytesPerPixel, rect.top,
rect.right / _bytesPerPixel, rect.bottom);
@@ -2180,9 +2189,9 @@ bool VMDDecoder::renderFrame(Common::Rect &rect) {
fakeRect = Common::Rect(fakeRect.left - _x, fakeRect.top - _y,
fakeRect.right - _x, fakeRect.bottom - _y);
- }
- if (_blitMode == 2) {
+ } else if (_blitMode == 2) {
+
fakeRect = Common::Rect(rect.left * _bytesPerPixel, rect.top,
rect.right * _bytesPerPixel, rect.bottom);
@@ -2191,6 +2200,7 @@ bool VMDDecoder::renderFrame(Common::Rect &rect) {
fakeRect = Common::Rect(fakeRect.left - _x * _bytesPerPixel, fakeRect.top - _y,
fakeRect.right - _x * _bytesPerPixel, fakeRect.bottom - _y);
+
}
realRect.clip(Common::Rect(_surface.w, _surface.h));