From 44d7663a495d74275eceb3c3a5d36cf1ed060d3d Mon Sep 17 00:00:00 2001 From: yinsimei Date: Sat, 1 Jul 2017 13:42:30 +0200 Subject: SLUDGE: read headless png sprites --- engines/sludge/imgloader.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'engines/sludge/imgloader.cpp') 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); -- cgit v1.2.3