mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2024-12-14 06:01:10 +00:00
- Fix r_overBrightBits variable getting ignored on Linux
- Replaced SDL_SetGamma by SDL_SetGammaRamp with gamma behaviour now matching win_gamma.c
This commit is contained in:
parent
75eb99b716
commit
82c4c70535
1 changed files with 32 additions and 7 deletions
|
@ -438,15 +438,35 @@ void IN_DeactivateMouse( void )
|
||||||
*/
|
*/
|
||||||
void GLimp_SetGamma( unsigned char red[256], unsigned char green[256], unsigned char blue[256] )
|
void GLimp_SetGamma( unsigned char red[256], unsigned char green[256], unsigned char blue[256] )
|
||||||
{
|
{
|
||||||
// NOTE TTimo we get the gamma value from cvar, because we can't work with the s_gammatable
|
Uint16 table[3][256];
|
||||||
// the API wasn't changed to avoid breaking other OSes
|
int i, j;
|
||||||
float g;
|
// float g;
|
||||||
|
|
||||||
if ( r_ignorehwgamma->integer )
|
if(r_ignorehwgamma->integer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g = Cvar_Get("r_gamma", "1.0", 0)->value;
|
// taken from win_gamma.c:
|
||||||
SDL_SetGamma(g, g, g);
|
for (i = 0; i < 256; i++)
|
||||||
|
{
|
||||||
|
table[0][i] = ( ( ( Uint16 ) red[i] ) << 8 ) | red[i];
|
||||||
|
table[1][i] = ( ( ( Uint16 ) green[i] ) << 8 ) | green[i];
|
||||||
|
table[2][i] = ( ( ( Uint16 ) blue[i] ) << 8 ) | blue[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// enforce constantly increasing
|
||||||
|
for (j = 0; j < 3; j++)
|
||||||
|
{
|
||||||
|
for (i = 1; i < 256; i++)
|
||||||
|
{
|
||||||
|
if (table[j][i] < table[j][i-1])
|
||||||
|
table[j][i] = table[j][i-1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_SetGammaRamp(table[0], table[1], table[2]);
|
||||||
|
|
||||||
|
// g = Cvar_Get("r_gamma", "1.0", 0)->value;
|
||||||
|
// SDL_SetGamma(g, g, g);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -553,7 +573,12 @@ static int GLW_SetMode( const char *drivername, int mode, qboolean fullscreen )
|
||||||
|
|
||||||
Uint32 flags = SDL_OPENGL;
|
Uint32 flags = SDL_OPENGL;
|
||||||
if (fullscreen)
|
if (fullscreen)
|
||||||
|
{
|
||||||
flags |= SDL_FULLSCREEN;
|
flags |= SDL_FULLSCREEN;
|
||||||
|
glConfig.isFullscreen = qtrue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
glConfig.isFullscreen = qfalse;
|
||||||
|
|
||||||
if (!r_colorbits->value)
|
if (!r_colorbits->value)
|
||||||
colorbits = 24;
|
colorbits = 24;
|
||||||
|
|
Loading…
Reference in a new issue