]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Make the mapvote panel less horizontally stretched: reduce a bit available width...
authorterencehill <piuntn@gmail.com>
Wed, 29 Jul 2015 15:23:21 +0000 (17:23 +0200)
committerterencehill <piuntn@gmail.com>
Wed, 29 Jul 2015 16:15:00 +0000 (18:15 +0200)
qcsrc/client/autocvars.qh
qcsrc/client/hud.qc
qcsrc/client/hud.qh
qcsrc/client/mapvoting.qc

index 90faef9411e7a23bee108316cad225b3e4b5e723..86e8f627349616b31ed1f8202b4e46e62ec6420f 100644 (file)
@@ -94,7 +94,6 @@ bool autocvar_cl_unpress_zoom_on_death = 1;
 bool autocvar_cl_unpress_zoom_on_weapon_switch = 1;
 bool autocvar_cl_unpress_attack_on_weapon_switch = 1;
 bool autocvar_con_chat;
-float autocvar_con_chatpos;
 bool autocvar_con_chatrect;
 float autocvar_con_chatsize;
 float autocvar_con_chattime;
index 2323ae58816c8abc496d372bb3cc518d4afc7e6a..c671a07d293093556d4121c8fa5dc6a0a37b2745 100644 (file)
@@ -3593,7 +3593,6 @@ void HUD_PressedKeys(void)
 //
 void HUD_Chat(void)
 {
-       //if(intermission == 2) return;
        if(!autocvar__hud_configure)
        {
                if (!autocvar_hud_panel_chat)
@@ -3615,6 +3614,15 @@ void HUD_Chat(void)
 
        HUD_Panel_UpdateCvars();
 
+       if(intermission == 2)
+       {
+               // reserve some more space to the mapvote panel
+               // by resizing and moving chat panel to the bottom
+               panel_size.y = min(panel_size.y, vid_conheight * 0.2);
+               panel_pos.y = vid_conheight - panel_size.y - panel_bg_border * 2;
+               chat_posy = panel_pos.y;
+               chat_sizey = panel_size.y;
+       }
        if(autocvar__con_chat_maximized && !autocvar__hud_configure) // draw at full screen height if maximized
        {
                panel_pos.y = panel_bg_border;
index 2c2a3fbc4121247fce6e3ee63c5670df2b11fa97..90032e395f023889d0f546236a3c44207a42ec2f 100644 (file)
@@ -113,6 +113,11 @@ string panel_bg_padding_str;
 
 class(HUDPanel) .void() panel_draw;
 
+// chat panel can be reduced / moved while the mapvote is active
+// let know the mapvote panel about chat pos and size
+float chat_posy;
+float chat_sizey;
+
 float current_player;
 
 float GetPlayerColorForce(int i);
index 0f54af4898399343bb622d05d1ac0381e1b7400c..77fd31a089ae114ca6aba4c3ebe649c8ce5b841e 100644 (file)
@@ -333,14 +333,15 @@ void MapVote_Draw()
        }
 
        center = (vid_conwidth - 1)/2;
-       xmin = vid_conwidth*0.05; // 5% border must suffice
+       xmin = vid_conwidth * 0.08;
        xmax = vid_conwidth - xmin;
        ymin = 20;
-       i = autocvar_con_chatpos; // *autocvar_con_chatsize;
-       if(i < 0)
-               ymax = vid_conheight + (i - autocvar_con_chat) * autocvar_con_chatsize;
-       if(i >= 0 || ymax < (vid_conheight*0.5))
-               ymax = vid_conheight - ymin;
+       ymax = vid_conheight - ymin;
+
+       if(chat_posy + chat_sizey / 2 < vid_conheight / 2)
+               ymin += chat_sizey;
+       else
+               ymax -= chat_sizey;
 
        hud_fontsize = HUD_GetFontsize("hud_fontsize");
 
@@ -374,14 +375,18 @@ void MapVote_Draw()
        pos.y += hud_fontsize.y * 1.5;
        pos.y += hud_fontsize.y * 0.5;
 
+       HUD_Panel_UpdateCvars();
+
        // base for multi-column stuff...
        pos.y += hud_fontsize.y;
        pos.x = xmin;
        ymin = pos.y;
+       float abstain_spacing = panel_bg_border + hud_fontsize.y;
        if(mv_abstain)
+       {
                mv_num_maps -= 1;
-
-       HUD_Panel_UpdateCvars();
+               ymax -= abstain_spacing;
+       }
 
        // higher than the image itself ratio for mapvote items to reserve space for long map names
        int item_aspect = (gametypevote) ? 3/1 : 5/3;
@@ -466,7 +471,7 @@ void MapVote_Draw()
 
        if(mv_abstain && i < mv_num_maps) {
                tmp = mv_votes[i];
-               pos.y = ymax + 2 * hud_fontsize.y;
+               pos.y = ymax + abstain_spacing;
                pos.x = (xmax+xmin)*0.5;
                MapVote_DrawAbstain(pos, dist.x, xmax - xmin, tmp, i);
        }