diff render_sdl.c @ 230:d3266cee02c9

Implemented shadow hilight mode.
author Mike Pavone <pavone@retrodev.com>
date Mon, 22 Apr 2013 19:39:38 -0700
parents d60837a7d18a
children f456ee23d372
line wrap: on
line diff
--- a/render_sdl.c	Sun Apr 21 19:12:48 2013 -0700
+++ b/render_sdl.c	Mon Apr 22 19:39:38 2013 -0700
@@ -34,9 +34,19 @@
     }
     uint8_t b,g,r;
     for (uint16_t color = 0; color < (1 << 12); color++) {
-    	b = levels[(color >> 8) & 0xE];
-		g = levels[(color >> 4) & 0xE];
-		r = levels[color & 0xE];
+    	if (color & FBUF_SHADOW) {
+    		b = levels[(color >> 9) & 0x7];
+			g = levels[(color >> 5) & 0x7];
+			r = levels[(color >> 1) & 0x7];
+    	} else if(color & FBUF_HILIGHT) {
+    		b = levels[((color >> 9) & 0x7) + 7];
+			g = levels[((color >> 5) & 0x7) + 7];
+			r = levels[((color >> 1) & 0x7) + 7];
+    	} else {
+			b = levels[(color >> 8) & 0xE];
+			g = levels[(color >> 4) & 0xE];
+			r = levels[color & 0xE];
+		}
 		color_map[color] = SDL_MapRGB(screen->format, r, g, b);
     }
     min_delay = 0;