From 67760ded3352839925c6ff39f922d3a801b6144a Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Wed, 15 Mar 2006 01:41:54 +0000 Subject: Patch #4830 from Dave Hooper - improved grayscale for the H1x0 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9041 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/pacbox/arcade.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'apps/plugins/pacbox') diff --git a/apps/plugins/pacbox/arcade.c b/apps/plugins/pacbox/arcade.c index 625ff6e8f1..e7fc0244de 100644 --- a/apps/plugins/pacbox/arcade.c +++ b/apps/plugins/pacbox/arcade.c @@ -33,8 +33,13 @@ extern struct plugin_api* rb; /* Convert RGB888 to 2-bit greyscale - logic taken from bmp2rb.c */ static fb_data rgb_to_gray(unsigned int r, unsigned int g, unsigned int b) { - int brightness = ((3*r + 6*g + b) / 10); - return ((brightness & 0xc0) >> 6); + int brightness = ( 2*r + 4*g + b ); + if( r == 0 && g == 0 && b == 0 ) + return 3; + + brightness = (brightness/450); + if( brightness > 2 ) return 0; + else return 2-brightness; } #endif @@ -294,7 +299,9 @@ void decodeROMs(void) (unsigned char) (c >> 8), (unsigned char) (c >> 16)); #else - palette[i] = rgb_to_gray(c, c >> 8, c >> 16); + palette[i] = rgb_to_gray((unsigned char) (c), + (unsigned char) (c >> 8), + (unsigned char) (c >> 16) ); #endif } } -- cgit v1.2.3