diff options
author | Eugene Sandulenko | 2015-11-16 04:55:33 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2015-11-16 04:55:33 +0100 |
commit | 54feebacb19fed877b205cf68be0e38acc9e8eff (patch) | |
tree | 46098edb42bfb2869e1c821dc29ed5aa62f77296 | |
parent | 691b11be645d525b4eb77cc7ae175005517104fc (diff) | |
download | scummvm-rg350-54feebacb19fed877b205cf68be0e38acc9e8eff.tar.gz scummvm-rg350-54feebacb19fed877b205cf68be0e38acc9e8eff.tar.bz2 scummvm-rg350-54feebacb19fed877b205cf68be0e38acc9e8eff.zip |
BBVS: Fix 16bpp video output
-rw-r--r-- | engines/bbvs/videoplayer.cpp | 7 |
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(); } } |