]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into divVerent/desktopfullscreen
authorRudolf Polzer <divverent@xonotic.org>
Tue, 17 Sep 2013 19:39:37 +0000 (21:39 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Tue, 17 Sep 2013 19:39:37 +0000 (21:39 +0200)
Conflicts:
qcsrc/menu/menu.qc

defaultXonotic.cfg
qcsrc/common/util-pre.qh
qcsrc/menu/menu.qc
qcsrc/menu/xonotic/slider_resolution.c

index 28c1af69dadf7a009b3da3fe094d7116640ff7a9..2faa816de2f56df0097390ca559033132e499a92 100644 (file)
@@ -93,6 +93,8 @@ vid_fullscreen 1
 vid_width 1024
 vid_height 768
 vid_pixelheight 1
+vid_resizable 0 // cannot be turned on before it is sure it cannot cause a r_restart
+vid_desktopfullscreen 1
 prvm_language en
 set _menu_prvm_language ""
 set _menu_vid_width "$vid_width"
index 3912773fba3794cdb2c7c7e838f2948f2472422b..5f94230bd5c713bb5fdcf57aef19e7d55093cfbe 100644 (file)
@@ -12,6 +12,7 @@
 //# define COMPAT_XON050_ENGINE
 # define COMPAT_NO_MOD_IS_XONOTIC
 # define COMPAT_XON060_DONTCRASH_CHECKPVS
+# define COMPAT_XON070_OLD_M_DRAW
 #endif
 
 #ifdef FTEQCC
index 1afc9f85d935c3e5958a31ba9cdd206fbf56afc0..fd4fced57db0aa0d2a1a3c6fb2f970def7baf1b9 100644 (file)
@@ -93,7 +93,8 @@ void m_init()
 
 const float MENU_ASPECT = 1.25; // 1280x1024
 const float MENU_MINHEIGHT = 600;
-float conwidth_s, conheight_s, realconwidth, realconheight, screenconwidth, screenconheight;
+float conwidth_s, conheight_s, vidwidth_s, vidheight_s, realconwidth,
+      realconheight, screenconwidth, screenconheight;
 void draw_reset_cropped()
 {
        draw_reset(screenconwidth, screenconheight, 0.5 * (realconwidth - screenconwidth), 0.5 * (realconheight - screenconheight));
@@ -102,8 +103,16 @@ void draw_reset_full()
 {
        draw_reset(realconwidth, realconheight, 0, 0);
 }
-void UpdateConWidthHeight()
+
+void UpdateConWidthHeight(float w, float h)
 {
+       if (w != vidwidth_s || h != vidheight_s)
+       {
+               initConwidths(w, h);
+               updateConwidths();
+               vidwidth_s = w;
+               vidheight_s = h;
+       }
        conwidth_s = conwidth;
        conheight_s = conheight;
        realconwidth = cvar("vid_conwidth");
@@ -149,7 +158,7 @@ void m_init_delayed()
        string s;
 
        conwidth = conheight = -1;
-       UpdateConWidthHeight();
+       UpdateConWidthHeight(cvar("vid_width"), cvar("vid_height"));
        draw_reset_cropped();
 
        menuInitialized = 0;
@@ -671,7 +680,7 @@ void m_tooltip(vector pos)
        }
 }
 
-void m_draw()
+void m_draw(float width, float height)
 {
        float t;
        float realFrametime;
@@ -686,7 +695,13 @@ void m_draw()
                anim.tickAll(anim);
 
        if(main)
-               UpdateConWidthHeight();
+       {
+#ifdef COMPAT_XON070_OLD_M_DRAW
+               UpdateConWidthHeight(width ? width : cvar("vid_width"), height ? height : cvar("vid_height"));
+#else
+               UpdateConWidthHeight(width, height);
+#endif
+       }
 
        if(!menuInitialized)
        {
index 01fd64e1022eb5d74524db0184dd80830d605f55..a4fe7de873c9142f11782564b143c1062b45dedd 100644 (file)
@@ -11,10 +11,10 @@ void updateConwidths();
 #endif
 
 #ifdef IMPLEMENTATION
-void initConwidths()
+void initConwidths(float width, float height)
 {
-       cvar_set("_menu_vid_width", cvar_string("vid_width"));
-       cvar_set("_menu_vid_height", cvar_string("vid_height"));
+       cvar_set("_menu_vid_width", ftos(width));
+       cvar_set("_menu_vid_height", ftos(height));
        cvar_set("_menu_vid_pixelheight", cvar_string("vid_pixelheight"));
 }
 void updateConwidths()