From 6a0bf78cdb1b3ddeeb1a21d80b4b3b7e6f2720ef Mon Sep 17 00:00:00 2001 From: black Date: Wed, 19 Nov 2003 14:59:56 +0000 Subject: [PATCH] vid_hardwaregammasupported is now a read-only cvar git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@3662 d7cf8633-e32d-0410-b094-e92efae38249 --- menu.c | 12 ++++++------ vid.h | 2 +- vid_shared.c | 9 +++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/menu.c b/menu.c index 73ff178a..180166f5 100644 --- a/menu.c +++ b/menu.c @@ -1649,8 +1649,8 @@ void M_Options_ColorControl_Draw (void) opty = 32 - bound(0, optcursor - (visible >> 1), max(0, OPTIONS_COLORCONTROL_ITEMS - visible)) * 8; M_Options_PrintCommand( " Reset to defaults", true); - M_Options_PrintCheckbox("Hardware Gamma Control", vid_hardwaregammasupported, v_hwgamma.integer); - M_Options_PrintSlider( " Gamma", !v_color_enable.integer && vid_hardwaregammasupported && v_hwgamma.integer, v_gamma.value, 1, 5); + M_Options_PrintCheckbox("Hardware Gamma Control", vid_hardwaregammasupported.integer, v_hwgamma.integer); + M_Options_PrintSlider( " Gamma", !v_color_enable.integer && vid_hardwaregammasupported.integer && v_hwgamma.integer, v_gamma.value, 1, 5); M_Options_PrintSlider( " Contrast", !v_color_enable.integer, v_contrast.value, 1, 5); M_Options_PrintSlider( " Brightness", !v_color_enable.integer, v_brightness.value, 0, 0.8); M_Options_PrintCheckbox(" Color Level Controls", true, v_color_enable.integer); @@ -1658,10 +1658,10 @@ void M_Options_ColorControl_Draw (void) M_Options_PrintSlider( " Black: Green", v_color_enable.integer, v_color_black_g.value, 0, 0.8); M_Options_PrintSlider( " Black: Blue ", v_color_enable.integer, v_color_black_b.value, 0, 0.8); M_Options_PrintSlider( " Black: Grey ", v_color_enable.integer, (v_color_black_r.value + v_color_black_g.value + v_color_black_b.value) / 3, 0, 0.8); - M_Options_PrintSlider( " Grey: Red ", v_color_enable.integer && vid_hardwaregammasupported && v_hwgamma.integer, v_color_grey_r.value, 0, 0.95); - M_Options_PrintSlider( " Grey: Green", v_color_enable.integer && vid_hardwaregammasupported && v_hwgamma.integer, v_color_grey_g.value, 0, 0.95); - M_Options_PrintSlider( " Grey: Blue ", v_color_enable.integer && vid_hardwaregammasupported && v_hwgamma.integer, v_color_grey_b.value, 0, 0.95); - M_Options_PrintSlider( " Grey: Grey ", v_color_enable.integer && vid_hardwaregammasupported && v_hwgamma.integer, (v_color_grey_r.value + v_color_grey_g.value + v_color_grey_b.value) / 3, 0, 0.95); + M_Options_PrintSlider( " Grey: Red ", v_color_enable.integer && vid_hardwaregammasupported.integer && v_hwgamma.integer, v_color_grey_r.value, 0, 0.95); + M_Options_PrintSlider( " Grey: Green", v_color_enable.integer && vid_hardwaregammasupported.integer && v_hwgamma.integer, v_color_grey_g.value, 0, 0.95); + M_Options_PrintSlider( " Grey: Blue ", v_color_enable.integer && vid_hardwaregammasupported.integer && v_hwgamma.integer, v_color_grey_b.value, 0, 0.95); + M_Options_PrintSlider( " Grey: Grey ", v_color_enable.integer && vid_hardwaregammasupported.integer && v_hwgamma.integer, (v_color_grey_r.value + v_color_grey_g.value + v_color_grey_b.value) / 3, 0, 0.95); M_Options_PrintSlider( " White: Red ", v_color_enable.integer, v_color_white_r.value, 1, 5); M_Options_PrintSlider( " White: Green", v_color_enable.integer, v_color_white_g.value, 1, 5); M_Options_PrintSlider( " White: Blue ", v_color_enable.integer, v_color_white_b.value, 1, 5); diff --git a/vid.h b/vid.h index bbd593d6..df206114 100644 --- a/vid.h +++ b/vid.h @@ -44,7 +44,7 @@ extern void (*vid_menukeyfn)(int key); extern int vid_hidden; extern int vid_activewindow; extern int vid_allowhwgamma; -extern int vid_hardwaregammasupported; +extern cvar_t vid_hardwaregammasupported; extern int vid_usinghwgamma; extern cvar_t vid_fullscreen; diff --git a/vid_shared.c b/vid_shared.c index c32497e3..7589a181 100644 --- a/vid_shared.c +++ b/vid_shared.c @@ -50,7 +50,7 @@ int vid_activewindow = true; int vid_allowhwgamma = false; // we don't know until we try it! -int vid_hardwaregammasupported = true; +cvar_t vid_hardwaregammasupported = {CVAR_READONLY,"vid_hardwaregammasupported","1"}; // whether hardware gamma ramps are currently in effect int vid_usinghwgamma = false; @@ -626,7 +626,7 @@ void VID_UpdateGamma(qboolean force) if (!vid_usinghwgamma) { vid_usinghwgamma = true; - vid_hardwaregammasupported = VID_GetGamma(vid_systemgammaramps); + Cvar_SetValueQuick(&vid_hardwaregammasupported, VID_GetGamma(vid_systemgammaramps)); } BOUNDCVAR(v_gamma, 0.1, 5);cachegamma = v_gamma.value; @@ -657,14 +657,14 @@ void VID_UpdateGamma(qboolean force) BuildGammaTable16(1.0f, cachegamma, cachecontrast, cachebrightness, vid_gammaramps + 512); } - vid_hardwaregammasupported = VID_SetGamma(vid_gammaramps); + Cvar_SetValueQuick(&vid_hardwaregammasupported, VID_SetGamma(vid_gammaramps)); } else { if (vid_usinghwgamma) { vid_usinghwgamma = false; - vid_hardwaregammasupported = VID_SetGamma(vid_systemgammaramps); + Cvar_SetValueQuick(&vid_hardwaregammasupported, VID_SetGamma(vid_systemgammaramps)); } } } @@ -680,6 +680,7 @@ void VID_RestoreSystemGamma(void) void VID_Shared_Init(void) { + Cvar_RegisterVariable(&vid_hardwaregammasupported); Cvar_RegisterVariable(&v_gamma); Cvar_RegisterVariable(&v_brightness); Cvar_RegisterVariable(&v_contrast); -- 2.39.2