This is an automated email from the git hooks/post-receive script. ecsv-guest pushed a commit to branch armhf_test in repository mupen64plus-video-rice.
commit a1835b851870a082520e0d40af4e1a2bddd2c51c Author: Sven Eckelmann <[email protected]> Date: Sun Jul 24 10:41:22 2011 +0200 Convert 8-bit png to truecolor when needed --- debian/changelog | 2 + debian/patches/png_truecolor_conversation.patch | 50 +++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 53 insertions(+) diff --git a/debian/changelog b/debian/changelog index f9f2d5f..9dede0f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ mupen64plus-video-rice (1.99.4-3) UNRELEASED; urgency=low * debian/patches: - Remove default-optimisations.patch, hurd_os.patch - Add rewrite_makefile.patch, Rewrite Makefile to fix flags and linking + - Add png_truecolor_conversation.patch, Convert 8-bit png to truecolor when + needed * Depend on pkg-config in debian/control for new Makefile -- Sven Eckelmann <[email protected]> Sat, 23 Jul 2011 16:42:59 +0200 diff --git a/debian/patches/png_truecolor_conversation.patch b/debian/patches/png_truecolor_conversation.patch new file mode 100644 index 0000000..c3f1ec1 --- /dev/null +++ b/debian/patches/png_truecolor_conversation.patch @@ -0,0 +1,50 @@ +Description: Convert 8-bit png to truecolor when needed + fix errors when using some texture packs that have PNGs saved in the wrong + format (8-bit PNG but should be true color) +Origin: upstream, https://bitbucket.org/richard42/mupen64plus-video-rice/changeset/26cae4093009 +Author: Richard Goedeken <[email protected]> + +--- +diff --git a/src/TextureFilters.cpp b/src/TextureFilters.cpp +index 20f904d8be25a2073b9527202342b0848c72a4d4..7837887a076ffd8b608b51fa11cab51ea95ff062 100644 +--- a/src/TextureFilters.cpp ++++ b/src/TextureFilters.cpp +@@ -1565,9 +1565,28 @@ bool LoadRGBBufferFromPNGFile(char *filename, unsigned char **pbuf, int &width, + pSrc++; + } + } ++ else if (img.bits_per_pixel == 8 && (bits_per_pixel == 24 || bits_per_pixel == 32)) ++ { ++ // do palette lookup and convert 8bpp to 24/32bpp ++ int destBytePP = bits_per_pixel / 8; ++ int paletteBytePP = img.bytes_per_palette_entry; ++ unsigned char *pSrc = img.bits; ++ unsigned char *pDst = *pbuf; ++ // clear the destination image data (just to clear alpha if bpp=32) ++ memset(*pbuf, 0, img.width*img.height*destBytePP); ++ for (int i = 0; i < (int)(img.width*img.height); i++) ++ { ++ unsigned char clridx = *pSrc++; ++ unsigned char *palcolor = img.palette + clridx * paletteBytePP; ++ pDst[0] = palcolor[2]; // red ++ pDst[1] = palcolor[1]; // green ++ pDst[2] = palcolor[0]; // blue ++ pDst += destBytePP; ++ } ++ } + else + { +- DebugMessage(M64MSG_ERROR, "PNG file is %i bpp but texture is %i bpp.", img.bits_per_pixel, bits_per_pixel); ++ DebugMessage(M64MSG_ERROR, "PNG file '%s' is %i bpp but texture is %i bpp.", filename, img.bits_per_pixel, bits_per_pixel); + delete [] *pbuf; + *pbuf = NULL; + } +@@ -1580,7 +1599,7 @@ bool LoadRGBBufferFromPNGFile(char *filename, unsigned char **pbuf, int &width, + } + else + { +- DebugMessage(M64MSG_ERROR, "ReadPNG() returned error in LoadRGBBufferFromPNGFile!"); ++ DebugMessage(M64MSG_ERROR, "ReadPNG() returned error for '%s' in LoadRGBBufferFromPNGFile!", filename); + *pbuf = NULL; + return false; + } diff --git a/debian/patches/series b/debian/patches/series index 09eb613..e1b5d8d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ rewrite_makefile.patch highres_memcorruption.patch +png_truecolor_conversation.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-video-rice.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

