fix "r_ignorehwgamma 1" and add support for "r_ignorehwgamma -1". r_ignorehwgamma meaning: -1 force hardware gamma. 0 auto detect. 1 force software gamma. --- code/sdl/sdl_gamma.c | 2 +- code/sdl/sdl_glimp.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) Index: quake3/code/sdl/sdl_gamma.c =================================================================== --- quake3.orig/code/sdl/sdl_gamma.c +++ quake3/code/sdl/sdl_gamma.c @@ -39,7 +39,7 @@ void GLimp_SetGamma( unsigned char red[2 Uint16 table[3][256]; int i, j; - if( !glConfig.deviceSupportsGamma || r_ignorehwgamma->integer ) + if( !glConfig.deviceSupportsGamma || r_ignorehwgamma->integer > 0 ) return; for (i = 0; i < 256; i++) Index: quake3/code/sdl/sdl_glimp.c =================================================================== --- quake3.orig/code/sdl/sdl_glimp.c +++ quake3/code/sdl/sdl_glimp.c @@ -733,6 +733,12 @@ success: // http://bugzilla.icculus.org/show_bug.cgi?id=4316 glConfig.deviceSupportsGamma = SDL_SetGamma( 1.0f, 1.0f, 1.0f ) >= 0; + if ( -1 == r_ignorehwgamma->integer) + glConfig.deviceSupportsGamma = 1; + + if ( 1 == r_ignorehwgamma->integer) + glConfig.deviceSupportsGamma = 0; + // get our config strings Q_strncpyz( glConfig.vendor_string, (char *) qglGetString (GL_VENDOR), sizeof( glConfig.vendor_string ) ); Q_strncpyz( glConfig.renderer_string, (char *) qglGetString (GL_RENDERER), sizeof( glConfig.renderer_string ) );