aboutsummaryrefslogtreecommitdiff
path: root/engines/bbvs/videoplayer.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2015-11-16 04:55:33 +0100
committerEugene Sandulenko2015-11-16 04:55:33 +0100
commit54feebacb19fed877b205cf68be0e38acc9e8eff (patch)
tree46098edb42bfb2869e1c821dc29ed5aa62f77296 /engines/bbvs/videoplayer.cpp
parent691b11be645d525b4eb77cc7ae175005517104fc (diff)
downloadscummvm-rg350-54feebacb19fed877b205cf68be0e38acc9e8eff.tar.gz
scummvm-rg350-54feebacb19fed877b205cf68be0e38acc9e8eff.tar.bz2
scummvm-rg350-54feebacb19fed877b205cf68be0e38acc9e8eff.zip
BBVS: Fix 16bpp video output
Diffstat (limited to 'engines/bbvs/videoplayer.cpp')
-rw-r--r--engines/bbvs/videoplayer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/bbvs/videoplayer.cpp b/engines/bbvs/videoplayer.cpp
index 9ea73ad10b..0594db8990 100644
--- a/engines/bbvs/videoplayer.cpp
+++ b/engines/bbvs/videoplayer.cpp
@@ -58,7 +58,12 @@ void BbvsEngine::playVideo(int videoNum) {
if (videoDecoder->needsUpdate()) {
const Graphics::Surface *frame = videoDecoder->decodeNextFrame();
if (frame) {
- _system->copyRectToScreen(frame->getPixels(), frame->pitch, 0, 0, frame->w, frame->h);
+ if (frame->format.bytesPerPixel > 1) {
+ const Graphics::Surface *frame1 = frame->convertTo(_system->getScreenFormat());
+ _system->copyRectToScreen(frame1->getPixels(), frame1->pitch, 0, 0, frame1->w, frame1->h);
+ } else {
+ _system->copyRectToScreen(frame->getPixels(), frame->pitch, 0, 0, frame->w, frame->h);
+ }
_system->updateScreen();
}
}