diff options
author | Filippos Karapetis | 2011-01-07 00:07:33 +0000 |
---|---|---|
committer | Filippos Karapetis | 2011-01-07 00:07:33 +0000 |
commit | 49f965a547ddb4b71c2abc29d50592dabdb21447 (patch) | |
tree | 63c5803716e662ec6acc388b095b4407c1e31b4e /engines/sci/engine | |
parent | a6994413ea3084914c4035298f4644e1dc9dbfe5 (diff) | |
download | scummvm-rg350-49f965a547ddb4b71c2abc29d50592dabdb21447.tar.gz scummvm-rg350-49f965a547ddb4b71c2abc29d50592dabdb21447.tar.bz2 scummvm-rg350-49f965a547ddb4b71c2abc29d50592dabdb21447.zip |
SCI2.1: Added a sanity check for VMD video positioning, for the demo of Lighthouse
svn-id: r55137
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/kvideo.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp index fddfa3ba86..f3cf8b68d0 100644 --- a/engines/sci/engine/kvideo.cpp +++ b/engines/sci/engine/kvideo.cpp @@ -61,9 +61,17 @@ void playVideo(Graphics::VideoDecoder *videoDecoder, VideoState videoState) { uint16 x, y; + // Sanity check... if (videoState.x > 0 && videoState.y > 0 && isVMD) { x = videoState.x; y = videoState.y; + + if (x + width > screenWidth || y + height > screenHeight) { + // Happens in the Lighthouse demo + warning("VMD video won't fit on screen, centering it instead"); + x = (screenWidth - width) / 2; + y = (screenHeight - height) / 2; + } } else { x = (screenWidth - width) / 2; y = (screenHeight - height) / 2; |