diff options
author | Mike Pavone <pavone@retrodev.com> | 2013-04-22 19:39:38 -0700 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2013-04-22 19:39:38 -0700 |
commit | 36806a6d81dac87836542b3793be491d05b6c85c (patch) | |
tree | b61395b2c3adede84e520f402584714aa99cb60d /render_sdl.c | |
parent | 343579c0fa45a83b23f8d4cda54b309283046ef1 (diff) |
Implemented shadow hilight mode.
Diffstat (limited to 'render_sdl.c')
-rw-r--r-- | render_sdl.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/render_sdl.c b/render_sdl.c index da6fc02..8c75b46 100644 --- a/render_sdl.c +++ b/render_sdl.c @@ -34,9 +34,19 @@ void render_init(int width, int height) } 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; |