added vid_desktopgamma
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1501 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
6412c5d141
commit
3d531e6f45
2 changed files with 37 additions and 18 deletions
|
@ -71,7 +71,6 @@ cvar_t r_stainfadeammount = {"r_stainfadeammount", "1"};
|
||||||
|
|
||||||
cvar_t _windowed_mouse = {"_windowed_mouse","1"};
|
cvar_t _windowed_mouse = {"_windowed_mouse","1"};
|
||||||
cvar_t vid_wait = {"vid_wait","0"};
|
cvar_t vid_wait = {"vid_wait","0"};
|
||||||
cvar_t vid_nopageflip = {"vid_nopageflip","0", NULL, CVAR_ARCHIVE|CVAR_RENDERERLATCH};
|
|
||||||
cvar_t _vid_wait_override = {"_vid_wait_override", "0", NULL, CVAR_ARCHIVE|CVAR_RENDERERLATCH};
|
cvar_t _vid_wait_override = {"_vid_wait_override", "0", NULL, CVAR_ARCHIVE|CVAR_RENDERERLATCH};
|
||||||
|
|
||||||
static cvar_t vid_stretch = {"vid_stretch","1", NULL, CVAR_ARCHIVE|CVAR_RENDERERLATCH};
|
static cvar_t vid_stretch = {"vid_stretch","1", NULL, CVAR_ARCHIVE|CVAR_RENDERERLATCH};
|
||||||
|
@ -235,6 +234,7 @@ cvar_t gl_lerpimages = {"gl_lerpimages", "1"};
|
||||||
extern cvar_t r_waterlayers;
|
extern cvar_t r_waterlayers;
|
||||||
cvar_t gl_triplebuffer = {"gl_triplebuffer", "1", NULL, CVAR_ARCHIVE};
|
cvar_t gl_triplebuffer = {"gl_triplebuffer", "1", NULL, CVAR_ARCHIVE};
|
||||||
cvar_t vid_hardwaregamma = {"vid_hardwaregamma", "1", NULL, CVAR_ARCHIVE};
|
cvar_t vid_hardwaregamma = {"vid_hardwaregamma", "1", NULL, CVAR_ARCHIVE};
|
||||||
|
cvar_t vid_desktopgamma = {"vid_desktopgamma", "0", NULL, CVAR_ARCHIVE|CVAR_RENDERERLATCH};
|
||||||
|
|
||||||
void GLRenderer_Init(void)
|
void GLRenderer_Init(void)
|
||||||
{
|
{
|
||||||
|
@ -243,6 +243,7 @@ void GLRenderer_Init(void)
|
||||||
Cvar_Register (&gl_triplebuffer, GLRENDEREROPTIONS);
|
Cvar_Register (&gl_triplebuffer, GLRENDEREROPTIONS);
|
||||||
|
|
||||||
Cvar_Register (&vid_hardwaregamma, GLRENDEREROPTIONS);
|
Cvar_Register (&vid_hardwaregamma, GLRENDEREROPTIONS);
|
||||||
|
Cvar_Register (&vid_desktopgamma, GLRENDEREROPTIONS);
|
||||||
|
|
||||||
//renderer
|
//renderer
|
||||||
Cvar_Register (&r_novis, GLRENDEREROPTIONS);
|
Cvar_Register (&r_novis, GLRENDEREROPTIONS);
|
||||||
|
@ -441,7 +442,6 @@ void Renderer_Init(void)
|
||||||
|
|
||||||
//but register ALL vid_ commands.
|
//but register ALL vid_ commands.
|
||||||
Cvar_Register (&vid_wait, VIDCOMMANDGROUP);
|
Cvar_Register (&vid_wait, VIDCOMMANDGROUP);
|
||||||
Cvar_Register (&vid_nopageflip, VIDCOMMANDGROUP);
|
|
||||||
Cvar_Register (&_vid_wait_override, VIDCOMMANDGROUP);
|
Cvar_Register (&_vid_wait_override, VIDCOMMANDGROUP);
|
||||||
Cvar_Register (&vid_stretch, VIDCOMMANDGROUP);
|
Cvar_Register (&vid_stretch, VIDCOMMANDGROUP);
|
||||||
Cvar_Register (&_windowed_mouse, VIDCOMMANDGROUP);
|
Cvar_Register (&_windowed_mouse, VIDCOMMANDGROUP);
|
||||||
|
|
|
@ -142,15 +142,12 @@ qboolean isPermedia = false;
|
||||||
//====================================
|
//====================================
|
||||||
// Note that 0 is MODE_WINDOWED
|
// Note that 0 is MODE_WINDOWED
|
||||||
extern cvar_t vid_mode;
|
extern cvar_t vid_mode;
|
||||||
extern cvar_t _vid_default_mode;
|
|
||||||
// Note that 3 is MODE_FULLSCREEN_DEFAULT
|
// Note that 3 is MODE_FULLSCREEN_DEFAULT
|
||||||
extern cvar_t _vid_default_mode_win;
|
|
||||||
extern cvar_t vid_wait;
|
extern cvar_t vid_wait;
|
||||||
extern cvar_t vid_nopageflip;
|
|
||||||
extern cvar_t _vid_wait_override;
|
extern cvar_t _vid_wait_override;
|
||||||
extern cvar_t vid_stretch_by_2;
|
|
||||||
extern cvar_t _windowed_mouse;
|
extern cvar_t _windowed_mouse;
|
||||||
extern cvar_t vid_hardwaregamma;
|
extern cvar_t vid_hardwaregamma;
|
||||||
|
extern cvar_t vid_desktopgamma;
|
||||||
extern cvar_t gl_lateswap;
|
extern cvar_t gl_lateswap;
|
||||||
|
|
||||||
int window_center_x, window_center_y, window_x, window_y, window_width, window_height;
|
int window_center_x, window_center_y, window_x, window_y, window_width, window_height;
|
||||||
|
@ -546,6 +543,7 @@ qboolean VID_SetFullDIBMode (rendererstate_t *info)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern int gammaworks;
|
||||||
|
|
||||||
int GLVID_SetMode (rendererstate_t *info, unsigned char *palette)
|
int GLVID_SetMode (rendererstate_t *info, unsigned char *palette)
|
||||||
{
|
{
|
||||||
|
@ -632,7 +630,14 @@ int GLVID_SetMode (rendererstate_t *info, unsigned char *palette)
|
||||||
vid.recalc_refdef = 1;
|
vid.recalc_refdef = 1;
|
||||||
|
|
||||||
maindc = GetDC(mainwindow);
|
maindc = GetDC(mainwindow);
|
||||||
GetDeviceGammaRamp(maindc, originalgammaramps);
|
if (vid_desktopgamma.value)
|
||||||
|
{
|
||||||
|
HDC hDC = GetDC(GetDesktopWindow());
|
||||||
|
gammaworks = GetDeviceGammaRamp(hDC, originalgammaramps);
|
||||||
|
ReleaseDC(GetDesktopWindow(), hDC);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
gammaworks = GetDeviceGammaRamp(maindc, originalgammaramps);
|
||||||
|
|
||||||
TRACE(("dbg: GLVID_SetMode: attaching gl\n"));
|
TRACE(("dbg: GLVID_SetMode: attaching gl\n"));
|
||||||
if (!VID_AttachGL(info))
|
if (!VID_AttachGL(info))
|
||||||
|
@ -930,25 +935,25 @@ void GLVID_SetPalette (unsigned char *palette)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern gammaworks;
|
|
||||||
|
|
||||||
void GLVID_ShiftPalette (unsigned char *palette)
|
void GLVID_ShiftPalette (unsigned char *palette)
|
||||||
{
|
{
|
||||||
extern unsigned short ramps[3][256];
|
extern unsigned short ramps[3][256];
|
||||||
|
|
||||||
// VID_SetPalette (palette);
|
|
||||||
|
|
||||||
if (ActiveApp && vid_hardwaregamma.value) //this is needed because ATI drivers don't work properly (or when task-switched out).
|
if (ActiveApp && vid_hardwaregamma.value) //this is needed because ATI drivers don't work properly (or when task-switched out).
|
||||||
{
|
{
|
||||||
if (gammaworks)
|
if (gammaworks)
|
||||||
{ //we have hardware gamma applied - if we're doing a BF, we don't want to reset to the default gamma (yuck)
|
{ //we have hardware gamma applied - if we're doing a BF, we don't want to reset to the default gamma (yuck)
|
||||||
SetDeviceGammaRamp (maindc, ramps);
|
if (vid_desktopgamma.value)
|
||||||
|
{
|
||||||
|
HDC hDC = GetDC(GetDesktopWindow());
|
||||||
|
gammaworks = SetDeviceGammaRamp (hDC, ramps);
|
||||||
|
ReleaseDC(GetDesktopWindow(), hDC);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
gammaworks = SetDeviceGammaRamp (maindc, ramps);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gammaworks = !!SetDeviceGammaRamp (maindc, ramps);
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
gammaworks = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -960,7 +965,15 @@ void VID_SetDefaultMode (void)
|
||||||
|
|
||||||
void GLVID_Shutdown (void)
|
void GLVID_Shutdown (void)
|
||||||
{
|
{
|
||||||
SetDeviceGammaRamp(maindc, originalgammaramps);
|
if (vid_desktopgamma.value)
|
||||||
|
{
|
||||||
|
HDC hDC = GetDC(GetDesktopWindow());
|
||||||
|
SetDeviceGammaRamp(hDC, originalgammaramps);
|
||||||
|
ReleaseDC(GetDesktopWindow(), hDC);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
SetDeviceGammaRamp(maindc, originalgammaramps);
|
||||||
|
|
||||||
gammaworks = false;
|
gammaworks = false;
|
||||||
|
|
||||||
VID_UnSetMode();
|
VID_UnSetMode();
|
||||||
|
@ -1124,8 +1137,14 @@ void GLAppActivate(BOOL fActive, BOOL minimize)
|
||||||
|
|
||||||
v_gamma.modified = true; //wham bam thanks.
|
v_gamma.modified = true; //wham bam thanks.
|
||||||
|
|
||||||
SetDeviceGammaRamp(maindc, originalgammaramps);
|
if (vid_desktopgamma.value)
|
||||||
gammaworks = false;
|
{
|
||||||
|
HDC hDC = GetDC(GetDesktopWindow());
|
||||||
|
gammaworks = SetDeviceGammaRamp (hDC, originalgammaramps);
|
||||||
|
ReleaseDC(GetDesktopWindow(), hDC);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
gammaworks = SetDeviceGammaRamp(maindc, originalgammaramps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue