From a31332695b53f4817f9e2da017bcace14cf8a389 Mon Sep 17 00:00:00 2001 From: meep-eep Date: Sat, 26 Oct 2002 20:12:52 +0000 Subject: [PATCH] Simplification of TFB_ColorMapToRGB. git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@152 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/sc2code/libs/graphics/cmap.c | 32 +++++++--------------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/sc2/src/sc2code/libs/graphics/cmap.c b/sc2/src/sc2code/libs/graphics/cmap.c index 94d648528..d5471baa2 100644 --- a/sc2/src/sc2code/libs/graphics/cmap.c +++ b/sc2/src/sc2code/libs/graphics/cmap.c @@ -40,35 +40,21 @@ static unsigned int varPLUTsize = VARPLUTS_SIZE; void TFB_ColorMapToRGB (TFB_Palette *pal, int colormap_index) { - DWORD i, k, cval; + DWORD i, k; + UWORD cval; UBYTE j, r, g, b; UBYTE *colors; colors = (UBYTE*)_varPLUTs + (colormap_index * PLUT_BYTE_SIZE); - for (i = 0; i < 32;) + for (i = 0; i < 32; i++) { - cval = MAKE_DWORD (MAKE_WORD (colors[3], colors[2]), MAKE_WORD (colors[1], colors[0])); - colors += 4; + cval = MAKE_WORD (colors[1], colors[0]); + colors += 2; - r = (UBYTE)((cval >> 26) & 0x1f); - g = (UBYTE)((cval >> 21) & 0x1f); - b = (UBYTE)((cval >> 16) & 0x1f); - - for (j = 0; j < 8; ++j) - { - k = ((j << 5) + i); - - pal[k].r = r * (j + 1); - pal[k].g = g * (j + 1); - pal[k].b = b * (j + 1); - } - - ++i; - - r = (UBYTE)((cval >> 10) & 0x1f); - g = (UBYTE)((cval >> 5) & 0x1f); - b = (UBYTE)(cval & 0x1f); + r = (UBYTE)((cval >> 10) & 0x1f); // bits 10-14 + g = (UBYTE)((cval >> 5) & 0x1f); // bits 5-9 + b = (UBYTE)(cval & 0x1f); // bits 0-4 for (j = 0; j < 8; ++j) { @@ -77,8 +63,6 @@ void TFB_ColorMapToRGB (TFB_Palette *pal, int colormap_index) pal[k].g = g * (j + 1); pal[k].b = b * (j + 1); } - - ++i; } }