aboutsummaryrefslogtreecommitdiff
path: root/engines/groovie
diff options
context:
space:
mode:
authorBastien Bouclet2019-01-22 15:02:05 +0100
committerBastien Bouclet2019-04-28 07:59:14 +0200
commit0d5d04ca3a5473f24f45112bb40a009679024acc (patch)
treedb509988aed8e0ef0f51052ca5154f771de8edb9 /engines/groovie
parent5196ae1cd49b879f0497c5ad863dfa6dfebe61c7 (diff)
downloadscummvm-rg350-0d5d04ca3a5473f24f45112bb40a009679024acc.tar.gz
scummvm-rg350-0d5d04ca3a5473f24f45112bb40a009679024acc.tar.bz2
scummvm-rg350-0d5d04ca3a5473f24f45112bb40a009679024acc.zip
IMAGE: Allow setting the output pixel format to the JPEG decoder
Diffstat (limited to 'engines/groovie')
-rw-r--r--engines/groovie/roq.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/groovie/roq.cpp b/engines/groovie/roq.cpp
index c1b6c44c4d..2e9a394c53 100644
--- a/engines/groovie/roq.cpp
+++ b/engines/groovie/roq.cpp
@@ -470,6 +470,7 @@ bool ROQPlayer::processBlockStill(ROQBlockHeader &blockHeader) {
debugC(5, kDebugVideo, "Groovie::ROQ: Processing still (JPEG) block");
Image::JPEGDecoder jpg;
+ jpg.setOutputPixelFormat(_vm->_pixelFormat);
uint32 startPos = _file->pos();
Common::SeekableSubReadStream subStream(_file, startPos, startPos + blockHeader.size, DisposeAfterUse::NO);
@@ -478,7 +479,9 @@ bool ROQPlayer::processBlockStill(ROQBlockHeader &blockHeader) {
const Graphics::Surface *srcSurf = jpg.getSurface();
_currBuf->free();
delete _currBuf;
- _currBuf = srcSurf->convertTo(_vm->_pixelFormat);
+
+ _currBuf = new Graphics::Surface();
+ _currBuf->copyFrom(*srcSurf);
_file->seek(startPos + blockHeader.size);
return true;