Don't force 16bpp if the bit depth was already higher!

This commit is contained in:
Jaime Passos 2020-01-06 21:02:25 -03:00
parent 42895b2c5f
commit db8735129a

View file

@ -925,15 +925,20 @@ void *Picture_PNGConvert(
png_bytep *row_pointers = PNG_Read(png, w, h, topoffset, leftoffset, insize); png_bytep *row_pointers = PNG_Read(png, w, h, topoffset, leftoffset, insize);
png_uint_32 width = *w, height = *h; png_uint_32 width = *w, height = *h;
// Find the output format's bits per pixel amount
outbpp = Picture_FormatBPP(outformat);
// Hack for patches because you'll want to preserve transparency. // Hack for patches because you'll want to preserve transparency.
if (Picture_IsPatchFormat(outformat)) if (Picture_IsPatchFormat(outformat))
outbpp = 16;
else
{ {
outbpp = Picture_FormatBPP(outformat); // Force a higher bit depth
if (outbpp == 8)
outbpp = 16;
}
// Shouldn't happen.
if (!outbpp) if (!outbpp)
I_Error("Picture_PNGConvert: unknown output bits per pixel?!"); I_Error("Picture_PNGConvert: unknown output bits per pixel?!");
}
// Figure out the size // Figure out the size
flatsize = (width * height) * (outbpp / 8); flatsize = (width * height) * (outbpp / 8);