]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/mapvoting.qc
Make the mapvote panel less horizontally stretched: reduce a bit available width...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / mapvoting.qc
index fc872056a7178c086af2ca5a51703eccb9f48d24..77fd31a089ae114ca6aba4c3ebe649c8ce5b841e 100644 (file)
@@ -316,6 +316,7 @@ void MapVote_Draw()
        float rows;
        vector dist = '0 0 0';
 
+       //if(intermission != 2) return;
        if(!mv_active)
                return;
 
@@ -332,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");
 
@@ -373,12 +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;
+               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;
@@ -417,6 +425,25 @@ void MapVote_Draw()
        offset = ((ymax - pos.y) - dist.y * rows) / 2;
        ymax -= 2 * offset;
 
+       // override panel_pos and panel_size
+       panel_pos.x = pos.x;
+       panel_pos.y = pos.y;
+       panel_size.x = xmax - xmin;
+       panel_size.y = ymax - ymin;
+       HUD_Panel_DrawBg(1);
+
+       if(panel_bg_padding)
+       {
+               // FIXME item AR gets slightly changed here...
+               // it's rather hard to avoid it at this point
+               dist.x -= 2 * panel_bg_padding / mv_columns;
+               dist.y -= 2 * panel_bg_padding / rows;
+               xmin = pos.x += panel_bg_padding;
+               ymin = pos.y += panel_bg_padding;
+               xmax -= 2 * panel_bg_padding;
+               ymax -= 2 * panel_bg_padding;
+       }
+
        mv_selection = MapVote_Selection(pos, dist, rows, mv_columns);
 
        if (mv_top2_time)
@@ -444,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);
        }