aboutsummaryrefslogtreecommitdiff
path: root/engines/sludge/imgloader.cpp
diff options
context:
space:
mode:
authoryinsimei2017-07-01 13:42:30 +0200
committerEugene Sandulenko2017-07-13 18:27:45 +0200
commit44d7663a495d74275eceb3c3a5d36cf1ed060d3d (patch)
treea376db0e4cc870b0bf6a8b1e3de6e3ebdc1bcd9b /engines/sludge/imgloader.cpp
parent1a27d671233cea7cb5cc25a1ff2a905260116398 (diff)
downloadscummvm-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.cpp14
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);