Simplification of TFB_ColorMapToRGB.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@152 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
meep-eep
2002-10-26 20:12:52 +00:00
parent fb34e07d7b
commit a31332695b
+8 -24
View File
@@ -40,35 +40,21 @@ static unsigned int varPLUTsize = VARPLUTS_SIZE;
void TFB_ColorMapToRGB (TFB_Palette *pal, int colormap_index) void TFB_ColorMapToRGB (TFB_Palette *pal, int colormap_index)
{ {
DWORD i, k, cval; DWORD i, k;
UWORD cval;
UBYTE j, r, g, b; UBYTE j, r, g, b;
UBYTE *colors; UBYTE *colors;
colors = (UBYTE*)_varPLUTs + (colormap_index * PLUT_BYTE_SIZE); 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])); cval = MAKE_WORD (colors[1], colors[0]);
colors += 4; colors += 2;
r = (UBYTE)((cval >> 26) & 0x1f); r = (UBYTE)((cval >> 10) & 0x1f); // bits 10-14
g = (UBYTE)((cval >> 21) & 0x1f); g = (UBYTE)((cval >> 5) & 0x1f); // bits 5-9
b = (UBYTE)((cval >> 16) & 0x1f); b = (UBYTE)(cval & 0x1f); // bits 0-4
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);
for (j = 0; j < 8; ++j) 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].g = g * (j + 1);
pal[k].b = b * (j + 1); pal[k].b = b * (j + 1);
} }
++i;
} }
} }