diff options
author | yinsimei | 2017-07-01 13:42:30 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-07-13 18:27:45 +0200 |
commit | 44d7663a495d74275eceb3c3a5d36cf1ed060d3d (patch) | |
tree | a376db0e4cc870b0bf6a8b1e3de6e3ebdc1bcd9b /engines/sludge/imgloader.cpp | |
parent | 1a27d671233cea7cb5cc25a1ff2a905260116398 (diff) | |
download | scummvm-rg350-44d7663a495d74275eceb3c3a5d36cf1ed060d3d.tar.gz scummvm-rg350-44d7663a495d74275eceb3c3a5d36cf1ed060d3d.tar.bz2 scummvm-rg350-44d7663a495d74275eceb3c3a5d36cf1ed060d3d.zip |
SLUDGE: read headless png sprites
Diffstat (limited to 'engines/sludge/imgloader.cpp')
-rw-r--r-- | engines/sludge/imgloader.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/sludge/imgloader.cpp b/engines/sludge/imgloader.cpp index bfac7fa5da..002e8501b0 100644 --- a/engines/sludge/imgloader.cpp +++ b/engines/sludge/imgloader.cpp @@ -44,10 +44,22 @@ bool ImgLoader::loadImage(Common::SeekableReadStream *stream, Graphics::Surface return true; } -bool ImgLoader::loadPNGImage(Common::SeekableReadStream *stream, Graphics::Surface *dest) { +bool ImgLoader::loadPNGImage(Common::SeekableReadStream *stream, Graphics::Surface *dest, bool checkSig) { ::Image::PNGDecoder png; + + // set skip signature + if (!checkSig) { + png.setSkipSignature(true); + } + if (!png.loadStream(*stream)) return false; + + // set value back + if (!checkSig) { + png.setSkipSignature(false); + } + const Graphics::Surface *sourceSurface = png.getSurface(); Graphics::Surface *pngSurface = sourceSurface->convertTo(*g_sludge->getScreenPixelFormat(), png.getPalette()); dest->copyFrom(*pngSurface); |