diff options
author | Sven Hesse | 2011-01-18 07:03:12 +0000 |
---|---|---|
committer | Sven Hesse | 2011-01-18 07:03:12 +0000 |
commit | 94f5bec0f61f68f797534b5ee516efafeaa1eedd (patch) | |
tree | af8f7264e223c72f75ecd4e7194c352cc785c786 /graphics/video | |
parent | dd01e4c303241d04096149cc978af0a049beca6d (diff) | |
download | scummvm-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')
-rw-r--r-- | graphics/video/coktel_decoder.cpp | 16 |
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)); |