diff options
author | Dave Chapman <dave@dchapman.com> | 2006-03-15 01:41:54 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2006-03-15 01:41:54 +0000 |
commit | 67760ded3352839925c6ff39f922d3a801b6144a (patch) | |
tree | 42a03524221b2ace66fc61f2af4fab57e63b9109 | |
parent | ec855445b3438f9b9e849472f0abc2d79bbf6d09 (diff) | |
download | rockbox-67760ded3352839925c6ff39f922d3a801b6144a.tar.gz rockbox-67760ded3352839925c6ff39f922d3a801b6144a.zip |
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
-rw-r--r-- | apps/plugins/pacbox/arcade.c | 13 |
1 files changed, 10 insertions, 3 deletions
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 } } |