From 6a26c45cb0601fbced8038755f80a274b269441a Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 27 Jan 2012 16:11:15 +0100 Subject: [PATCH] make vid_width, vid_height, vid_pixelwidth fully authoritative again, make menu_vid_width etc. cvars temporary and internal (prefixed with underscore) instead --- defaultXonotic.cfg | 6 +++--- qcsrc/menu/menu.qc | 1 + qcsrc/menu/xonotic/slider_resolution.c | 23 +++++++++++++++-------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 64dad1cc7..06ddd852a 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -86,9 +86,9 @@ vid_fullscreen 1 vid_width 1024 vid_height 768 vid_pixelheight 1 -seta menu_vid_width 1024 -seta menu_vid_height 768 -seta menu_vid_pixelheight 1 +set _menu_vid_width "$vid_width" +set _menu_vid_height "$vid_height" +set _menu_vid_pixelheight "$vid_pixelheight" seta menu_vid_scale 0 // 2D resolution 800x600 vid_conwidth 800 diff --git a/qcsrc/menu/menu.qc b/qcsrc/menu/menu.qc index 96793fb77..baa0bb90f 100644 --- a/qcsrc/menu/menu.qc +++ b/qcsrc/menu/menu.qc @@ -60,6 +60,7 @@ void m_init() updateCompression(); if(ddsload != cvar("r_texture_dds_load") || texcomp != cvar("gl_texturecompression")) localcmd("\nr_restart\n"); + initConwidths(); } float MENU_ASPECT = 1.25; // 1280x1024 diff --git a/qcsrc/menu/xonotic/slider_resolution.c b/qcsrc/menu/xonotic/slider_resolution.c index 2e3ea4ce4..8bd47e799 100644 --- a/qcsrc/menu/xonotic/slider_resolution.c +++ b/qcsrc/menu/xonotic/slider_resolution.c @@ -6,18 +6,25 @@ CLASS(XonoticResolutionSlider) EXTENDS(XonoticTextSlider) METHOD(XonoticResolutionSlider, saveCvars, void(entity)) ENDCLASS(XonoticResolutionSlider) entity makeXonoticResolutionSlider(); +void initConwidths(); void updateConwidths(); #endif #ifdef IMPLEMENTATION +void initConwidths() +{ + cvar_set("_menu_vid_width", cvar_string("vid_width")); + cvar_set("_menu_vid_height", cvar_string("vid_height")); + cvar_set("_menu_vid_pixelheight", cvar_string("vid_pixelheight")); +} void updateConwidths() { vector r, c; float minfactor, maxfactor; float sz, f; - r_x = cvar("menu_vid_width"); - r_y = cvar("menu_vid_height"); - r_z = cvar("menu_vid_pixelheight"); + r_x = cvar("_menu_vid_width"); + r_y = cvar("_menu_vid_height"); + r_z = cvar("_menu_vid_pixelheight"); sz = cvar("menu_vid_scale"); // calculate the base resolution @@ -70,7 +77,7 @@ void XonoticResolutionSlider_configureXonoticResolutionSlider(entity me) float i; vector r0, r; - me.configureXonoticTextSlider(me, "menu_vid_width"); + me.configureXonoticTextSlider(me, "_menu_vid_width"); r0 = '0 0 0'; for(i = 0;; ++i) @@ -105,16 +112,16 @@ void XonoticResolutionSlider_configureXonoticResolutionSlider(entity me) } void XonoticResolutionSlider_loadCvars(entity me) { - me.setValueFromIdentifier(me, strcat(cvar_string("menu_vid_width"), " ", cvar_string("menu_vid_height"), " ", cvar_string("menu_vid_pixelheight"))); + me.setValueFromIdentifier(me, strcat(cvar_string("_menu_vid_width"), " ", cvar_string("_menu_vid_height"), " ", cvar_string("_menu_vid_pixelheight"))); } void XonoticResolutionSlider_saveCvars(entity me) { if(me.value >= 0 || me.value < me.nValues) { tokenize_console(me.getIdentifier(me)); - cvar_set("menu_vid_width", argv(0)); - cvar_set("menu_vid_height", argv(1)); - cvar_set("menu_vid_pixelheight", argv(2)); + cvar_set("_menu_vid_width", argv(0)); + cvar_set("_menu_vid_height", argv(1)); + cvar_set("_menu_vid_pixelheight", argv(2)); } } #endif -- 2.39.2