aboutsummaryrefslogtreecommitdiff
path: root/engines/sludge/imgloader.cpp
diff options
context:
space:
mode:
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);