Mercurial > hg > openttd
changeset 6907:8a7c4b1f39ea draft
(svn r10156) -Fix: PNG loader can now load 8bpp palette images and greyscale images
author | truelight <truelight@openttd.org> |
---|---|
date | Thu, 14 Jun 2007 14:11:08 +0000 |
parents | c67a063b99bf |
children | 71da5dd33fa4 |
files | src/spriteloader/png.cpp |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/spriteloader/png.cpp +++ b/src/spriteloader/png.cpp @@ -114,8 +114,14 @@ if (!mask) { if (bit_depth == 16) png_set_strip_16(png_ptr); - if (color_type == PNG_COLOR_TYPE_PALETTE) png_set_palette_to_rgb(png_ptr); - /* TODO 32bpp: Convert grayscale to rgb */ + if (color_type == PNG_COLOR_TYPE_PALETTE) { + png_set_palette_to_rgb(png_ptr); + color_type = PNG_COLOR_TYPE_RGB; + } + if (color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { + png_set_gray_to_rgb(png_ptr); + color_type = PNG_COLOR_TYPE_RGB; + } #ifdef TTD_LITTLE_ENDIAN png_set_bgr(png_ptr);