don't try using sw gamma if hw gamma is enabled.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@585 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2004-12-08 04:03:36 +00:00
parent f879422fb7
commit 719a42f98e
1 changed files with 41 additions and 16 deletions

View File

@ -858,24 +858,49 @@ void GLVID_SetPalette (unsigned char *palette)
unsigned *table;
extern qbyte gammatable[256];
//
// 8 8 8 encoding
//
pal = palette;
table = d_8to24rgbtable;
for (i=0 ; i<256 ; i++)
//
// 8 8 8 encoding
//
if (vid_hardwaregamma.value)
{
r = gammatable[pal[0]];
g = gammatable[pal[1]];
b = gammatable[pal[2]];
pal += 3;
// v = (255<<24) + (r<<16) + (g<<8) + (b<<0);
// v = (255<<0) + (r<<8) + (g<<16) + (b<<24);
v = (255<<24) + (r<<0) + (g<<8) + (b<<16);
*table++ = v;
// don't built in the gamma table
pal = palette;
table = d_8to24rgbtable;
for (i=0 ; i<256 ; i++)
{
r = pal[0];
g = pal[1];
b = pal[2];
pal += 3;
// v = (255<<24) + (r<<16) + (g<<8) + (b<<0);
// v = (255<<0) + (r<<8) + (g<<16) + (b<<24);
v = (255<<24) + (r<<0) + (g<<8) + (b<<16);
*table++ = v;
}
d_8to24rgbtable[255] &= 0xffffff; // 255 is transparent
}
else
{
//computer has no hardware gamma (poor suckers) increase table accordingly
pal = palette;
table = d_8to24rgbtable;
for (i=0 ; i<256 ; i++)
{
r = gammatable[pal[0]];
g = gammatable[pal[1]];
b = gammatable[pal[2]];
pal += 3;
// v = (255<<24) + (r<<16) + (g<<8) + (b<<0);
// v = (255<<0) + (r<<8) + (g<<16) + (b<<24);
v = (255<<24) + (r<<0) + (g<<8) + (b<<16);
*table++ = v;
}
d_8to24rgbtable[255] &= 0xffffff; // 255 is transparent
}
d_8to24rgbtable[255] &= 0xffffff; // 255 is transparent
}
extern gammaworks;