diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index df91a28a0..04fd4c517 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -31,6 +31,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define WINAVI #endif +// callbacks +void CL_Sbar_Callback(struct cvar_s *var, char *oldvalue); + // we need to declare some mouse variables here, because the menu system // references them even when on a unix system. @@ -45,7 +48,7 @@ cvar_t cl_timeout = SCVAR("cl_timeout", "60"); cvar_t cl_shownet = SCVAR("cl_shownet","0"); // can be 0, 1, or 2 -cvar_t cl_sbar = SCVARF("cl_sbar", "0", CVAR_ARCHIVE); +cvar_t cl_sbar = SCVARFC("cl_sbar", "0", CVAR_ARCHIVE, CL_Sbar_Callback); cvar_t cl_hudswap = SCVARF("cl_hudswap", "0", CVAR_ARCHIVE); cvar_t cl_maxfps = SCVARF("cl_maxfps", "1000", CVAR_ARCHIVE); cvar_t cl_nopext = SCVARF("cl_nopext", "0", CVAR_ARCHIVE); diff --git a/engine/client/cl_screen.c b/engine/client/cl_screen.c index f5141f909..99b7a77a0 100644 --- a/engine/client/cl_screen.c +++ b/engine/client/cl_screen.c @@ -96,7 +96,6 @@ float scr_conlines; // lines of console to display qboolean scr_con_forcedraw; -float oldscreensize, oldfov; extern cvar_t scr_viewsize; extern cvar_t scr_fov; extern cvar_t scr_conspeed; @@ -837,6 +836,43 @@ float CalcFov (float fov_x, float width, float height) return a; } +void SCR_Fov_Callback (struct cvar_s *var, char *oldvalue) +{ + if (var->value < 10) + { + Cvar_ForceSet (var, "10"); + return; + } + if (var->value > 170) + { + Cvar_ForceSet (var, "170"); + return; + } + + vid.recalc_refdef = true; +} + +void SCR_Viewsize_Callback (struct cvar_s *var, char *oldvalue) +{ + if (var->value < 30) + { + Cvar_ForceSet (var, "30"); + return; + } + if (var->value > 120) + { + Cvar_ForceSet (var, "120"); + return; + } + + vid.recalc_refdef = true; +} + +void CL_Sbar_Callback(struct cvar_s *var, char *oldvalue) +{ + vid.recalc_refdef = true; +} + /* ================= SCR_CalcRefdef @@ -853,7 +889,6 @@ void SCR_CalcRefdef (void) scr_fullupdate = 0; // force a background redraw vid.recalc_refdef = 0; - scr_viewsize.modified = false; // force the status bar to redraw Sbar_Changed (); @@ -861,17 +896,6 @@ void SCR_CalcRefdef (void) //======================================== r_refdef.flags = 0; -// bound viewsize - if (scr_viewsize.value < 30) - Cvar_Set (&scr_viewsize,"30"); - if (scr_viewsize.value > 120) - Cvar_Set (&scr_viewsize,"120"); - -// bound field of view - if (scr_fov.value < 10) - Cvar_Set (&scr_fov,"10"); - if (scr_fov.value > 170) - Cvar_Set (&scr_fov,"170"); // intermission is always full screen if (cl.intermission) @@ -1045,7 +1069,6 @@ Keybinding command void SCR_SizeUp_f (void) { Cvar_SetValue (&scr_viewsize,scr_viewsize.value+10); - vid.recalc_refdef = 1; } @@ -1059,7 +1082,6 @@ Keybinding command void SCR_SizeDown_f (void) { Cvar_SetValue (&scr_viewsize,scr_viewsize.value-10); - vid.recalc_refdef = 1; } //============================================================================ diff --git a/engine/client/renderer.c b/engine/client/renderer.c index 72b04efd3..63141899f 100644 --- a/engine/client/renderer.c +++ b/engine/client/renderer.c @@ -26,6 +26,8 @@ unsigned int *d_8to32table = d_8to24bgrtable; //palette lookups while rendering extern int gl_anisotropy_factor; // callbacks used for cvars +void SCR_Viewsize_Callback (struct cvar_s *var, char *oldvalue); +void SCR_Fov_Callback (struct cvar_s *var, char *oldvalue); #if defined(RGLQUAKE) void GL_Texturemode_Callback (struct cvar_s *var, char *oldvalue); #endif @@ -103,13 +105,14 @@ static cvar_t vid_desktopsettings = SCVARF("vid_desktopsettings", "0", CVAR_ARCH #if defined(RGLQUAKE) cvar_t gl_texturemode = SCVARFC("gl_texturemode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE|CVAR_RENDERERCALLBACK, GL_Texturemode_Callback); +cvar_t gl_conback = SCVARF("gl_conback", "", CVAR_RENDERERCALLBACK); +cvar_t gl_font = SCVARF("gl_font", "", CVAR_RENDERERCALLBACK); +//gl blends. Set this to 1 to stop the outside of your conchars from being visible +cvar_t gl_fontedgeclamp = SCVAR("gl_fontedgeclamp", "0"); +cvar_t gl_smoothfont = SCVAR("gl_smoothfont", "1"); #endif cvar_t gl_motionblur = SCVARF("gl_motionblur", "0", CVAR_ARCHIVE); cvar_t gl_motionblurscale = SCVAR("gl_motionblurscale", "1"); -cvar_t gl_fontedgeclamp = SCVAR("gl_fontedgeclamp", "0"); //gl blends. Set this to 1 to stop the outside of your conchars from being visible -cvar_t gl_font = SCVAR("gl_font", ""); -cvar_t gl_conback = SCVAR("gl_conback", ""); -cvar_t gl_smoothfont = SCVAR("gl_smoothfont", "1"); cvar_t gl_part_flame = SCVAR("gl_part_flame", "1"); cvar_t r_part_rain = SCVARF("r_part_rain", "0", CVAR_ARCHIVE); @@ -123,9 +126,9 @@ cvar_t r_shadow_bumpscale_basetexture = SCVAR("r_shadow_bumpscale_basetexture", cvar_t r_shadow_bumpscale_bumpmap = SCVAR("r_shadow_bumpscale_bumpmap", "10"); cvar_t gl_nocolors = SCVAR("gl_nocolors","0"); cvar_t gl_load24bit = SCVARF("gl_load24bit", "1", CVAR_ARCHIVE); -cvar_t vid_conwidth = SCVARF("vid_conwidth", "640", CVAR_ARCHIVE); +cvar_t vid_conwidth = SCVARF("vid_conwidth", "640", CVAR_ARCHIVE|CVAR_RENDERERCALLBACK); cvar_t vid_conheight = SCVARF("vid_conheight", "480", CVAR_ARCHIVE); -cvar_t vid_conautoscale = SCVARF("vid_conautoscale", "0", CVAR_ARCHIVE); +cvar_t vid_conautoscale = SCVARF("vid_conautoscale", "0", CVAR_ARCHIVE|CVAR_RENDERERCALLBACK); cvar_t gl_nobind = SCVAR("gl_nobind", "0"); cvar_t gl_max_size = SCVAR("gl_max_size", "1024"); cvar_t gl_picmip = SCVAR("gl_picmip", "0"); @@ -172,8 +175,8 @@ cvar_t scr_centersbar = SCVAR("scr_centersbar", "0"); cvar_t scr_consize = SCVAR("scr_consize", "0.5"); cvar_t scr_conalpha = SCVAR("scr_conalpha", "0.7"); -cvar_t scr_viewsize = SCVARF("viewsize","100", CVAR_ARCHIVE); -cvar_t scr_fov = SCVARF("fov","90", CVAR_ARCHIVE); // 10 - 170 +cvar_t scr_viewsize = SCVARFC("viewsize","100", CVAR_ARCHIVE, SCR_Viewsize_Callback); +cvar_t scr_fov = SCVARFC("fov","90", CVAR_ARCHIVE, SCR_Fov_Callback); // 10 - 170 cvar_t scr_conspeed = SCVAR("scr_conspeed","300"); cvar_t scr_centertime = SCVAR("scr_centertime","2"); cvar_t scr_showram = SCVAR("showram","1"); diff --git a/engine/common/cvar.c b/engine/common/cvar.c index 40c09bc35..fdcb772f5 100644 --- a/engine/common/cvar.c +++ b/engine/common/cvar.c @@ -1121,6 +1121,12 @@ void Cvar_Unhook(cvar_t *cvar) cvar->callback = NULL; } +void Cvar_ForceCallback(cvar_t *var) +{ + if (var->callback) + var->callback(var, var->string); +} + void Cvar_ApplyCallbacks(int callbackflag) { cvar_group_t *grp; diff --git a/engine/common/cvar.h b/engine/common/cvar.h index 05b654fea..f232e9612 100644 --- a/engine/common/cvar.h +++ b/engine/common/cvar.h @@ -137,6 +137,9 @@ void Cvar_Hook(cvar_t *cvar, void (*callback) (struct cvar_s *var, char *oldvalu void Cvar_Unhook(cvar_t *cvar); //unhook a cvar +void Cvar_ForceCallback(cvar_t *cvar); +// force a cvar callback + void Cvar_ApplyCallbacks(int callbackflag); //forces callbacks to be ran for given flags diff --git a/engine/gl/gl_draw.c b/engine/gl/gl_draw.c index c336c8b75..14815afbf 100644 --- a/engine/gl/gl_draw.c +++ b/engine/gl/gl_draw.c @@ -61,7 +61,7 @@ extern cvar_t gl_lerpimages; extern cvar_t gl_picmip2d; extern cvar_t r_drawdisk; extern cvar_t gl_compress; -extern cvar_t gl_font, gl_conback, gl_smoothfont, gl_fontedgeclamp; +extern cvar_t gl_smoothfont, gl_fontedgeclamp; extern cvar_t gl_texturemode; extern cvar_t cl_noblink; @@ -905,11 +905,6 @@ TRACE(("dbg: GLDraw_ReInit: Allocating upload buffers\n")); TRACE(("dbg: GLDraw_ReInit: loaded charset\n")); - gl_font.modified = true; - - gl_smoothfont.modified = 1; - - TRACE(("dbg: GLDraw_ReInit: GL_BeginRendering\n")); GL_BeginRendering (&glx, &gly, &glwidth, &glheight); TRACE(("dbg: GLDraw_ReInit: SCR_DrawLoading\n")); @@ -1104,8 +1099,6 @@ TRACE(("dbg: GLDraw_ReInit: Allocating upload buffers\n")); custom_conback->width = vid.conwidth; custom_conback->height = vid.conheight; - gl_conback.modified = true; - // free loaded console Hunk_FreeToLowMark (start); @@ -2260,6 +2253,67 @@ void GLDraw_EndDisc (void) { } +// conback/font callbacks +void GL_Smoothfont_Callback(struct cvar_s *var, char *oldvalue) +{ + GL_Bind(char_texture); + if (var->value) + { + qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } + else + { + qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + } +} + +void GL_Fontedgeclamp_Callback(struct cvar_s *var, char *oldvalue) +{ + if (var->value) + char_instep = custom_char_instep; + else + char_instep = 0; +} + +void GL_Font_Callback(struct cvar_s *var, char *oldvalue) +{ + if (!*var->string + || (!(char_texture=Mod_LoadHiResTexture(var->string, "fonts", false, true, true)) + && !(char_texture=Mod_LoadHiResTexture(var->string, "charsets", false, true, true)))) + { + char_texture = default_char_texture; + custom_char_instep = default_char_instep; + } + else + custom_char_instep = 0.5f/((image_width+image_height)/2); + + GL_Smoothfont_Callback(&gl_smoothfont, ""); + GL_Fontedgeclamp_Callback(&gl_fontedgeclamp, ""); +} + +void GL_Conback_Callback(struct cvar_s *var, char *oldvalue) +{ + int newtex = 0; +#ifdef Q3SHADERS + if (*var->string && (shader_console = R_RegisterCustom(var->string, NULL))) + { + conback = default_conback; + } + else +#endif + if (!*var->string || !(newtex=Mod_LoadHiResTexture(var->string, "conbacks", false, true, true))) + { + conback = default_conback; + } + else + { + conback = custom_conback; + ((glpic_t *)conback->data)->texnum = newtex; + } +} + /* ================ GL_Set2D @@ -2297,69 +2351,6 @@ void GL_Set2D (void) qglColor4f (1,1,1,1); - if (gl_font.modified) - { - gl_font.modified = 0; - if (!*gl_font.string - || (!(char_texture=Mod_LoadHiResTexture(gl_font.string, "fonts", false, true, true)) - && !(char_texture=Mod_LoadHiResTexture(gl_font.string, "charsets", false, true, true)))) - { - char_texture = default_char_texture; - custom_char_instep = default_char_instep; - } - else - custom_char_instep = 0.5f/((image_width+image_height)/2); - - gl_smoothfont.modified = true; - gl_fontedgeclamp.modified = true; - } - if (gl_conback.modified) - { - int newtex = 0; - gl_conback.modified = 0; -#ifdef Q3SHADERS - if (*gl_conback.string && (shader_console = R_RegisterCustom(gl_conback.string, NULL))) - { - conback = default_conback; - } - else -#endif - if (!*gl_conback.string || !(newtex=Mod_LoadHiResTexture(gl_conback.string, "conbacks", false, true, true))) - { - conback = default_conback; - } - else - { - conback = custom_conback; - ((glpic_t *)conback->data)->texnum = newtex; - } - } - - if (gl_fontedgeclamp.modified) - { - if (gl_fontedgeclamp.value) - char_instep = custom_char_instep; - else - char_instep = 0; - gl_fontedgeclamp.modified = false; - } - - if (gl_smoothfont.modified) - { - gl_smoothfont.modified = false; - GL_Bind(char_texture); - if (gl_smoothfont.value) - { - qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - } - else - { - qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - } - } - r_refdef.time = realtime; } diff --git a/engine/gl/gl_rmisc.c b/engine/gl/gl_rmisc.c index a918549a5..9b68e3c37 100644 --- a/engine/gl/gl_rmisc.c +++ b/engine/gl/gl_rmisc.c @@ -655,15 +655,24 @@ if (!data) void GLR_TimeRefresh_f (void); extern cvar_t gl_bump; -extern cvar_t r_stains, r_stainfadetime, r_stainfadeammount, r_menutint; +extern cvar_t r_stains, r_stainfadetime, r_stainfadeammount; // callback defines +extern cvar_t gl_conback, gl_font, gl_smoothfont, gl_fontedgeclamp, r_menutint; +extern cvar_t vid_conautoscale, vid_conheight, vid_conwidth; extern cvar_t crosshair, crosshairimage, crosshaircolor, r_skyboxname; void GLCrosshairimage_Callback(struct cvar_s *var, char *oldvalue); void GLCrosshair_Callback(struct cvar_s *var, char *oldvalue); void GLCrosshaircolor_Callback(struct cvar_s *var, char *oldvalue); void GLR_Skyboxname_Callback(struct cvar_s *var, char *oldvalue); void GLR_Menutint_Callback (struct cvar_s *var, char *oldvalue); +void GL_Conback_Callback (struct cvar_s *var, char *oldvalue); +void GL_Font_Callback (struct cvar_s *var, char *oldvalue); +void GL_Smoothfont_Callback (struct cvar_s *var, char *oldvalue); +void GL_Fontedgeclamp_Callback (struct cvar_s *var, char *oldvalue); +void GLVID_Conwidth_Callback(struct cvar_s *var, char *oldvalue); +void GLVID_Conautoscale_Callback(struct cvar_s *var, char *oldvalue); +void GLVID_Conheight_Callback(struct cvar_s *var, char *oldvalue); void GLR_DeInit (void) { @@ -678,6 +687,13 @@ void GLR_DeInit (void) Cvar_Unhook(&crosshaircolor); Cvar_Unhook(&r_skyboxname); Cvar_Unhook(&r_menutint); + Cvar_Unhook(&gl_conback); + Cvar_Unhook(&gl_font); + Cvar_Unhook(&gl_smoothfont); + Cvar_Unhook(&gl_fontedgeclamp); + Cvar_Unhook(&vid_conautoscale); + Cvar_Unhook(&vid_conheight); + Cvar_Unhook(&vid_conwidth); GLDraw_DeInit(); @@ -696,6 +712,13 @@ void GLR_Init (void) Cvar_Hook(&crosshaircolor, GLCrosshaircolor_Callback); Cvar_Hook(&r_skyboxname, GLR_Skyboxname_Callback); Cvar_Hook(&r_menutint, GLR_Menutint_Callback); + Cvar_Hook(&gl_conback, GL_Conback_Callback); + Cvar_Hook(&gl_font, GL_Font_Callback); + Cvar_Hook(&gl_smoothfont, GL_Smoothfont_Callback); + Cvar_Hook(&gl_fontedgeclamp, GL_Fontedgeclamp_Callback); + Cvar_Hook(&vid_conautoscale, GLVID_Conautoscale_Callback); + Cvar_Hook(&vid_conheight, GLVID_Conheight_Callback); + Cvar_Hook(&vid_conwidth, GLVID_Conwidth_Callback); R_InitBubble(); diff --git a/engine/gl/gl_screen.c b/engine/gl/gl_screen.c index bfa307879..15d9199bb 100644 --- a/engine/gl/gl_screen.c +++ b/engine/gl/gl_screen.c @@ -38,9 +38,6 @@ extern qboolean scr_initialized; extern float oldsbar; extern qboolean scr_drawloading; -extern float oldfov; - - extern int scr_chatmode; extern cvar_t scr_chatmodecvar; @@ -116,6 +113,79 @@ void RSpeedShow(void) } } +// console size manipulation callbacks +void GLVID_Console_Resize(void) +{ + extern cvar_t vid_conwidth, vid_conheight; + + vid.width = vid.conwidth = vid_conwidth.value; + vid.height = vid.conheight = vid_conheight.value; + + vid.recalc_refdef = true; + Con_CheckResize(); + +#ifdef PLUGINS + Plug_ResChanged(); +#endif +} + +void GLVID_Conheight_Callback(struct cvar_s *var, char *oldvalue) +{ + if (var->value > 1536) //anything higher is unreadable. + { + Cvar_ForceSet(var, "1536"); + return; + } + if (var->value < 200) //lower would be wrong + { + Cvar_ForceSet(var, "200"); + return; + } + + GLVID_Console_Resize(); +} + +void GLVID_Conwidth_Callback(struct cvar_s *var, char *oldvalue) +{ + //let let the user be too crazy + if (var->value > 2048) //anything higher is unreadable. + { + Cvar_ForceSet(var, "2048"); + return; + } + if (var->value < 320) //lower would be wrong + { + Cvar_ForceSet(var, "320"); + return; + } + + GLVID_Console_Resize(); +} + +void GLVID_Conautoscale_Callback(struct cvar_s *var, char *oldvalue) +{ + extern cvar_t vid_conwidth, vid_conheight; + + float xratio, yratio = 0; + + xratio = var->value; + if (xratio > 0) + { + char *s = strchr(var->string, ' '); + if (s) + yratio = atof(s + 1); + + if (yratio <= 0) + yratio = xratio; + + xratio = 1 / xratio; + yratio = 1 / yratio; + + Cvar_SetValue(&vid_conwidth, glwidth * xratio); + Cvar_SetValue(&vid_conheight, glheight * yratio); + } +} + /* ================== SCR_UpdateScreen @@ -130,7 +200,7 @@ needs almost the entire 256k of stack space! void GLSCR_UpdateScreen (void) { - extern cvar_t vid_conwidth, vid_conheight, gl_texturemode, vid_conautoscale; + extern cvar_t vid_conheight; int uimenu; #ifdef TEXTEDITOR extern qboolean editormodal; @@ -144,60 +214,6 @@ void GLSCR_UpdateScreen (void) return; } - if (vid_conautoscale.modified) - { - float xratio, yratio = 0; - - xratio = vid_conautoscale.value; - if (xratio > 0) - { - char *s = strchr(vid_conautoscale.string, ' '); - if (s) - yratio = atof(s + 1); - - if (yratio <= 0) - yratio = xratio; - - xratio = 1 / xratio; - yratio = 1 / yratio; - - Cvar_SetValue(&vid_conwidth, glwidth * xratio); - Cvar_SetValue(&vid_conheight, glheight * yratio); - } - - vid_conautoscale.modified = false; - } - - if (vid_conwidth.modified || vid_conheight.modified) - { - //let let the user be too crazy - if (vid_conwidth.value > 2048) //anything higher is unreadable. - Cvar_Set(&vid_conwidth, "2048"); - if (vid_conheight.value > 1536) //anything higher is unreadable. - Cvar_Set(&vid_conheight, "1536"); - if (vid_conwidth.value < 320) //lower would be wrong - Cvar_Set(&vid_conwidth, "320"); - if (vid_conheight.value < 200) //lower would be wrong - Cvar_Set(&vid_conheight, "200"); - - vid_conwidth.modified = false; - vid_conheight.modified = false; - -// vid.width = vid.conwidth = (glwidth - 320) * gl_2dscale.value + 320; -// vid.height = vid.conheight = (glheight - 240) * gl_2dscale.value + 240; - - vid.width = vid.conwidth = vid_conwidth.value; - vid.height = vid.conheight = vid_conheight.value; - - vid.recalc_refdef = true; - Con_CheckResize(); - -#ifdef PLUGINS - Plug_ResChanged(); -#endif - GL_Set2D(); - } - vid.numpages = 2 + gl_triplebuffer.value; scr_copytop = 0; @@ -233,12 +249,6 @@ void GLSCR_UpdateScreen (void) uimenu = 0; #endif - - if (oldsbar != cl_sbar.value) { - oldsbar = cl_sbar.value; - vid.recalc_refdef = true; - } - GL_BeginRendering (&glx, &gly, &glwidth, &glheight); #ifdef TEXTEDITOR @@ -276,13 +286,7 @@ void GLSCR_UpdateScreen (void) // // determine size of refresh window // - if (oldfov != scr_fov.value) - { - oldfov = scr_fov.value; - vid.recalc_refdef = true; - } - - if (vid.recalc_refdef || scr_viewsize.modified) + if (vid.recalc_refdef) SCR_CalcRefdef (); // diff --git a/engine/gl/gl_vidnt.c b/engine/gl/gl_vidnt.c index 27f2a3fc1..cb21ccb38 100644 --- a/engine/gl/gl_vidnt.c +++ b/engine/gl/gl_vidnt.c @@ -399,8 +399,6 @@ qboolean VID_SetWindowedMode (rendererstate_t *info) else { vid.conwidth = 640; - vid_conwidth.modified = true; //make it reapplied - vid_conautoscale.modified = true; } vid.conwidth &= 0xfff8; // make it a multiple of eight @@ -422,8 +420,6 @@ qboolean VID_SetWindowedMode (rendererstate_t *info) vid.conwidth = info->width; vid.width = vid.conwidth; vid.height = vid.conheight; - vid_conwidth.modified = true; - vid_conautoscale.modified = true; vid.numpages = 2; @@ -542,8 +538,6 @@ qboolean VID_SetFullDIBMode (rendererstate_t *info) vid.conwidth = info->width; vid.width = vid.conwidth; vid.height = vid.conheight; - vid_conwidth.modified = true; - vid_conautoscale.modified = true; vid.numpages = 2; @@ -1419,8 +1413,11 @@ LONG WINAPI GLMainWndProc ( { WindowRect.right = ((short*)&lParam)[0] - WindowRect.left; WindowRect.bottom = ((short*)&lParam)[1] - WindowRect.top; - vid_conwidth.modified = true; //make it reapplied - vid_conautoscale.modified = true; + // force width/height to be updated + glwidth = WindowRect.right - WindowRect.left; + glheight = WindowRect.bottom - WindowRect.top; + Cvar_ForceCallback(&vid_conautoscale); + Cvar_ForceCallback(&vid_conwidth); } break; diff --git a/engine/sw/sw_screen.c b/engine/sw/sw_screen.c index 05430cd25..9ac8445dc 100644 --- a/engine/sw/sw_screen.c +++ b/engine/sw/sw_screen.c @@ -33,9 +33,6 @@ extern qboolean scr_initialized; extern float oldsbar; extern qboolean scr_drawloading; -extern float oldfov, oldscreensize; - - extern int scr_chatmode; extern cvar_t scr_chatmodecvar; @@ -85,20 +82,6 @@ void SWSCR_UpdateScreen (void) uimenu = 0; #endif -// -// check for vid changes -// - if (oldfov != scr_fov.value) - { - oldfov = scr_fov.value; - vid.recalc_refdef = true; - } - - if (oldsbar != cl_sbar.value) - { - oldsbar = cl_sbar.value; - vid.recalc_refdef = true; - } #ifdef TEXTEDITOR if (editormodal) { @@ -129,7 +112,7 @@ void SWSCR_UpdateScreen (void) return; } - if (vid.recalc_refdef || scr_viewsize.modified) + if (vid.recalc_refdef) { // something changed, so reorder the screen SCR_CalcRefdef ();