From: terencehill Date: Sat, 27 Nov 2010 23:06:41 +0000 (+0100) Subject: Merge branch 'master' into terencehill/newpanelhud X-Git-Tag: xonotic-v0.5.0~378 X-Git-Url: https://git.xonotic.org/?a=commitdiff_plain;h=a0f8261f12a1a8b073066e06622834cad1a06c65;hp=64ddbee7cf616535317f0367feb3dc106cdaaa42;p=xonotic%2Fxonotic-data.pk3dir.git Merge branch 'master' into terencehill/newpanelhud --- diff --git a/_hud_descriptions.cfg b/_hud_descriptions.cfg index ddcd45a36..33d85443e 100644 --- a/_hud_descriptions.cfg +++ b/_hud_descriptions.cfg @@ -64,8 +64,8 @@ seta hud_panel_powerups "" "enable/disable this panel" seta hud_panel_powerups_pos "" "position of this panel" seta hud_panel_powerups_size "" "size of this panel" seta hud_panel_powerups_flip "" "flip strength/shield positions" -seta hud_panel_powerups_baralign "" "0 = align bars to the left, 1 = align bars to the right, 2 = align right bar to the right, 3 = align left bar to the right" -seta hud_panel_powerups_iconalign "" "0 = align icons to the left, 1 = align icons to the right, 2 = align right icon to the right, 3 = align left icon to the right" +seta hud_panel_powerups_baralign "" "0 = align bars to the left, 1 = align bars to the right, 2 = align only left bar to the right, 3 = align only right bar to the right" +seta hud_panel_powerups_iconalign "" "0 = align icons to the left, 1 = align icons to the right, 2 = align only left icon to the right, 3 = align only right icon to the right" seta hud_panel_powerups_bg "" "if set to something else than \"\" = override default background" seta hud_panel_powerups_bg_color "" "if set to something else than \"\" = override default panel background color" seta hud_panel_powerups_bg_color_team "" "override panel color with team color in team based games" @@ -78,8 +78,8 @@ seta hud_panel_healtharmor "" "enable/disable this panel, 2 = combined health/ar seta hud_panel_healtharmor_pos "" "position of this panel" seta hud_panel_healtharmor_size "" "size of this panel" seta hud_panel_healtharmor_flip "" "flip health/armor positions" -seta hud_panel_healtharmor_baralign "" "0 = align bars to the left, 1 = align bars to the right, 2 = align right bar to the right, 3 = align left bar to the right" -seta hud_panel_healtharmor_iconalign "" "0 = align icons to the left, 1 = align icons to the right, 2 = align right icon to the right, 3 = align left icon to the right" +seta hud_panel_healtharmor_baralign "" "0 = align bars to the left, 1 = align bars to the right, 2 = align only left bar to the right, 3 = align only right bar to the right" +seta hud_panel_healtharmor_iconalign "" "0 = align icons to the left, 1 = align icons to the right, 2 = align only left icon to the right, 3 = align only right icon to the right" seta hud_panel_healtharmor_bg "" "if set to something else than \"\" = override default background" seta hud_panel_healtharmor_bg_color "" "if set to something else than \"\" = override default panel background color" seta hud_panel_healtharmor_bg_color_team "" "override panel color with team color in team based games" diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 25e3209cd..37288a064 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -1358,6 +1358,8 @@ seta hud_panel_radar_rotation 0 "rotation mode: you set what points up. 0 = play seta hud_panel_radar_zoommode 0 "zoom mode: 0 = zoomed by default, 1 = zoomed when +zoom, 2 = always zoomed, 3 = always zoomed out" alias hud_panel_radar_rotate "toggle hud_panel_radar_rotation 0 1 2 3 4" +seta hud_panel_score_rankings 0 "show rankings in non-team games instead of the score difference: 1 always show my own score; 2 pure rankings" + seta hud_panel_engineinfo_framecounter_time 0.1 "time between framerate display updates" seta hud_panel_engineinfo_framecounter_decimals 0 "amount of decimals to show" seta hud_panel_engineinfo_framecounter_exponentialmovingaverage 1 "use an averaging method for calculating fps instead of counting frametime like engine does" @@ -1699,7 +1701,7 @@ seta cl_showspeed_position 0.7 "Y-axis positioning of the numbers" seta cl_showacceleration 0 "show the XY acceleration of the player" seta cl_showacceleration_z 0 "include the speed on the Z-axis" seta cl_showacceleration_size 40 "height of the bar" -seta cl_showacceleration_scale 5 "X-axis scale of the bar" +seta cl_showacceleration_scale 1 "X-axis scale of the bar" seta cl_showacceleration_alpha 0.5 "alpha of the bar" seta cl_showacceleration_color_custom 0 "0 = dynamic color depending on acceleration, 1 = use custom color" seta cl_showacceleration_color "1 0 0" "color of the bar, needs cl_showacceleration_color_custom to be 1" diff --git a/gfx/ons-frame-team.tga b/gfx/ons-frame-team.tga deleted file mode 100644 index fb97397e3..000000000 Binary files a/gfx/ons-frame-team.tga and /dev/null differ diff --git a/gfx/ons-frame.tga b/gfx/ons-frame.tga deleted file mode 100644 index 13a89126b..000000000 Binary files a/gfx/ons-frame.tga and /dev/null differ diff --git a/hud_luminos.cfg b/hud_luminos.cfg index 0ded41942..45e723119 100644 --- a/hud_luminos.cfg +++ b/hud_luminos.cfg @@ -68,8 +68,8 @@ seta hud_panel_powerups_bg_alpha "" seta hud_panel_powerups_bg_border "" seta hud_panel_powerups_bg_padding "" seta hud_panel_powerups_flip "1" -seta hud_panel_powerups_iconalign "4" -seta hud_panel_powerups_baralign "4" +seta hud_panel_powerups_iconalign "3" +seta hud_panel_powerups_baralign "3" seta hud_panel_powerups_progressbar "1" seta hud_panel_healtharmor 1 @@ -82,8 +82,8 @@ seta hud_panel_healtharmor_bg_alpha "" seta hud_panel_healtharmor_bg_border "" seta hud_panel_healtharmor_bg_padding "" seta hud_panel_healtharmor_flip "0" -seta hud_panel_healtharmor_iconalign "4" -seta hud_panel_healtharmor_baralign "4" +seta hud_panel_healtharmor_iconalign "3" +seta hud_panel_healtharmor_baralign "3" seta hud_panel_healtharmor_progressbar "1" seta hud_panel_notify 1 diff --git a/hud_nexuiz.cfg b/hud_nexuiz.cfg index bdd7a97f2..8345b5b2d 100644 --- a/hud_nexuiz.cfg +++ b/hud_nexuiz.cfg @@ -89,10 +89,10 @@ seta hud_panel_healtharmor_progressbar "0" seta hud_panel_notify 0 seta hud_panel_notify_pos "0 0.650000" seta hud_panel_notify_size "0.300000 0.070000" -seta hud_panel_notify_bg "" +seta hud_panel_notify_bg "0" seta hud_panel_notify_bg_color "" seta hud_panel_notify_bg_color_team "" -seta hud_panel_notify_bg_alpha "0" +seta hud_panel_notify_bg_alpha "" seta hud_panel_notify_bg_border "" seta hud_panel_notify_bg_padding "" seta hud_panel_notify_flip "0" diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index ef220acef..9e5b6be54 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -1020,15 +1020,6 @@ void CSQC_Ent_Remove() void Gamemode_Init() { - if(gametype == GAME_ONSLAUGHT) { - print(strcat("Using ", minimapname, " as minimap.\n")); - precache_pic("gfx/ons-cp-neutral.tga"); - precache_pic("gfx/ons-cp-red.tga"); - precache_pic("gfx/ons-cp-blue.tga"); - precache_pic("gfx/ons-frame.tga"); - precache_pic("gfx/ons-frame-team.tga"); - } - if not(isdemo()) { localcmd("\n_cl_hook_gamestart ", GametypeNameFromType(gametype), "\n"); diff --git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh index 873df14a3..c7ca054b6 100644 --- a/qcsrc/client/autocvars.qh +++ b/qcsrc/client/autocvars.qh @@ -14,11 +14,6 @@ var float autocvar__menu_alpha; var float autocvar__hud_configure; var float autocvar_hud_configure_teamcolorforced; -var float autocvar_hud_configure_bg_minalpha; -var float autocvar_hud_configure_grid; -var float autocvar_hud_configure_grid_xsize; -var float autocvar_hud_configure_grid_ysize; -var float autocvar_hud_configure_grid_alpha; var float autocvar__con_chat_maximized; var string autocvar__hud_panelorder; diff --git a/qcsrc/client/hud.qc b/qcsrc/client/hud.qc index 01dc01663..6ab50f5f5 100644 --- a/qcsrc/client/hud.qc +++ b/qcsrc/client/hud.qc @@ -553,7 +553,7 @@ if(highlightedPanel_prev == active_panel && autocvar__hud_configure)\ HUD_Panel_HlBorder(panel_bg_border + 1.5 * hlBorderSize, '0 0.5 1', 0.25 * (1 - autocvar__menu_alpha) * alpha);\ } ENDS_WITH_CURLY_BRACE -void HUD_Panel_DrawProgressBar(vector pos, float vertical, vector mySize, vector color, float alpha, float drawflag) +void HUD_Panel_DrawProgressBar(vector pos, vector mySize, float lenght_ratio, float vertical, float right_align, vector color, float alpha, float drawflag) { if(!alpha) return; @@ -564,6 +564,11 @@ void HUD_Panel_DrawProgressBar(vector pos, float vertical, vector mySize, vector if(precache_pic(pic) == "") { pic = "gfx/hud/default/statusbar_vertical"; } + + if (right_align) + pos_y += (1 - lenght_ratio) * mySize_y; + mySize_y *= lenght_ratio; + drawsubpic(pos, eY * min(mySize_y * 0.5, mySize_x) + eX * mySize_x, pic, '0 0 0', '1 0.25 0', color, alpha, drawflag); if(mySize_y/mySize_x > 2) drawsubpic(pos + eY * mySize_x, eY * (mySize_y - 2 * mySize_x) + eX * mySize_x, pic, '0 0.25 0', '1 0.5 0', color, alpha, drawflag); @@ -573,6 +578,11 @@ void HUD_Panel_DrawProgressBar(vector pos, float vertical, vector mySize, vector if(precache_pic(pic) == "") { pic = "gfx/hud/default/statusbar"; } + + if (right_align) + pos_x += (1 - lenght_ratio) * mySize_x; + mySize_x *= lenght_ratio; + drawsubpic(pos, eX * min(mySize_x * 0.5, mySize_y) + eY * mySize_y, pic, '0 0 0', '0.25 1 0', color, alpha, drawflag); if(mySize_x/mySize_y > 2) drawsubpic(pos + eX * mySize_y, eX * (mySize_x - 2 * mySize_y) + eY * mySize_y, pic, '0.25 0 0', '0.5 1 0', color, alpha, drawflag); @@ -681,10 +691,10 @@ void HUD_Panel_SetPos(vector pos) //if(cvar("hud_configure_checkcollisions_debug")) //drawfill(pos, mySize, '1 1 1', .2, DRAWFLAG_NORMAL); - if(autocvar_hud_configure_grid) + if(cvar("hud_configure_grid")) { - pos_x = floor((pos_x/vid_conwidth)/bound(0.005, autocvar_hud_configure_grid_xsize, 0.2) + 0.5) * bound(0.005, autocvar_hud_configure_grid_xsize, 0.2) * vid_conwidth; - pos_y = floor((pos_y/vid_conheight)/bound(0.005, autocvar_hud_configure_grid_ysize, 0.2) + 0.5) * bound(0.005, autocvar_hud_configure_grid_ysize, 0.2) * vid_conheight; + pos_x = floor((pos_x/vid_conwidth)/hud_configure_gridSize_x + 0.5) * hud_configure_realGridSize_x; + pos_y = floor((pos_y/vid_conheight)/hud_configure_gridSize_y + 0.5) * hud_configure_realGridSize_y; } if(hud_configure_checkcollisions) @@ -862,10 +872,10 @@ void HUD_Panel_SetPosSize(vector mySize) //drawfill(myPos, mySize, '1 1 1', .2, DRAWFLAG_NORMAL); // before checkresize, otherwise panel can be snapped partially inside another panel or panel aspect ratio can be broken - if(autocvar_hud_configure_grid) + if(cvar("hud_configure_grid")) { - mySize_x = floor((mySize_x/vid_conwidth)/bound(0.005, autocvar_hud_configure_grid_xsize, 0.2) + 0.5) * bound(0.005, autocvar_hud_configure_grid_xsize, 0.2) * vid_conwidth; - mySize_y = floor((mySize_y/vid_conheight)/bound(0.005, autocvar_hud_configure_grid_ysize, 0.2) + 0.5) * bound(0.005, autocvar_hud_configure_grid_ysize, 0.2) * vid_conheight; + mySize_x = floor((mySize_x/vid_conwidth)/hud_configure_gridSize_x + 0.5) * hud_configure_realGridSize_x; + mySize_y = floor((mySize_y/vid_conheight)/hud_configure_gridSize_y + 0.5) * hud_configure_realGridSize_y; } if(hud_configure_checkcollisions) @@ -916,21 +926,21 @@ void HUD_Panel_Arrow_Action(float nPrimary) hud_configure_checkcollisions = (!(hudShiftState & S_CTRL) && cvar("hud_configure_checkcollisions")); float step; - if(autocvar_hud_configure_grid) + if(cvar("hud_configure_grid")) { if (nPrimary == K_UPARROW || nPrimary == K_DOWNARROW) { if (hudShiftState & S_SHIFT) - step = bound(0.005, autocvar_hud_configure_grid_ysize, 0.2) * vid_conheight; + step = hud_configure_realGridSize_y; else - step = 2 * bound(0.005, autocvar_hud_configure_grid_ysize, 0.2) * vid_conheight; + step = 2 * hud_configure_realGridSize_y; } else { if (hudShiftState & S_SHIFT) - step = bound(0.005, autocvar_hud_configure_grid_xsize, 0.2) * vid_conwidth; + step = hud_configure_realGridSize_x; else - step = 2 * bound(0.005, autocvar_hud_configure_grid_xsize, 0.2) * vid_conwidth; + step = 2 * hud_configure_realGridSize_x; } } else @@ -1068,74 +1078,68 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary) menu_enabled_time = time; localcmd("menu_showhudexit\n"); } - else if(hudShiftState & S_CTRL) + else if(nPrimary == K_SPACE && hudShiftState & S_CTRL) // enable/disable highlighted panel or dock { - if (mouseClicked) + if (bInputType == 1 || mouseClicked) return true; - if(nPrimary == K_SPACE) // enable/disable highlighted panel or dock - { - if (bInputType == 1) - return true; + if (highlightedPanel_prev != -1) + cvar_set(strcat("hud_panel_", panel_name), ftos(!(panel_enabled))); + else + cvar_set(strcat("hud_dock"), (autocvar_hud_dock == "") ? "dock" : ""); + } + else if(nPrimary == 'c' && hudShiftState & S_CTRL) // copy highlighted panel size + { + if (bInputType == 1 || mouseClicked) + return true; - if (highlightedPanel_prev != -1) - cvar_set(strcat("hud_panel_", panel_name), ftos(!(panel_enabled))); - else - cvar_set(strcat("hud_dock"), (autocvar_hud_dock == "") ? "dock" : ""); - } - if(nPrimary == 'c') // copy highlighted panel size + if (highlightedPanel_prev != -1) { - if (bInputType == 1) - return true; - - if (highlightedPanel_prev != -1) - { - panel_size_copied = panel_size; - highlightedPanel_copied = highlightedPanel_prev; - } + panel_size_copied = panel_size; + highlightedPanel_copied = highlightedPanel_prev; } - else if(nPrimary == 'v') // past copied size on the highlighted panel - { - if (bInputType == 1) - return true; + } + else if(nPrimary == 'v' && hudShiftState & S_CTRL) // past copied size on the highlighted panel + { + if (bInputType == 1 || mouseClicked) + return true; - if (highlightedPanel_copied == -1 || highlightedPanel_prev == -1) - return true; + if (highlightedPanel_copied == -1 || highlightedPanel_prev == -1) + return true; - HUD_Panel_UpdatePosSizeForId(highlightedPanel_prev); + HUD_Panel_UpdatePosSizeForId(highlightedPanel_prev); - // reduce size if it'd go beyond screen boundaries - vector tmp_size = panel_size_copied; - if (panel_pos_x + panel_size_copied_x > vid_conwidth) - tmp_size_x = vid_conwidth - panel_pos_x; - if (panel_pos_y + panel_size_copied_y > vid_conheight) - tmp_size_y = vid_conheight - panel_pos_y; + // reduce size if it'd go beyond screen boundaries + vector tmp_size = panel_size_copied; + if (panel_pos_x + panel_size_copied_x > vid_conwidth) + tmp_size_x = vid_conwidth - panel_pos_x; + if (panel_pos_y + panel_size_copied_y > vid_conheight) + tmp_size_y = vid_conheight - panel_pos_y; - if (panel_size == tmp_size) - return true; + if (panel_size == tmp_size) + return true; - // backup first! - panel_pos_backup = panel_pos; - panel_size_backup = panel_size; - highlightedPanel_backup = highlightedPanel_prev; + // backup first! + panel_pos_backup = panel_pos; + panel_size_backup = panel_size; + highlightedPanel_backup = highlightedPanel_prev; - s = strcat(ftos(tmp_size_x/vid_conwidth), " ", ftos(tmp_size_y/vid_conheight)); - cvar_set(strcat("hud_panel_", panel_name, "_size"), s); - } - else if(nPrimary == 'z') // undo last action + s = strcat(ftos(tmp_size_x/vid_conwidth), " ", ftos(tmp_size_y/vid_conheight)); + cvar_set(strcat("hud_panel_", panel_name, "_size"), s); + } + else if(nPrimary == 'z' && hudShiftState & S_CTRL) // undo last action + { + if (bInputType == 1 || mouseClicked) + return true; + //restore previous values + if (highlightedPanel_backup != -1) { - if (bInputType == 1) - return true; - //restore previous values - if (highlightedPanel_backup != -1) - { - HUD_Panel_GetName(highlightedPanel_backup); - s = strcat(ftos(panel_pos_backup_x/vid_conwidth), " ", ftos(panel_pos_backup_y/vid_conheight)); - cvar_set(strcat("hud_panel_", panel_name, "_pos"), s); - s = strcat(ftos(panel_size_backup_x/vid_conwidth), " ", ftos(panel_size_backup_y/vid_conheight)); - cvar_set(strcat("hud_panel_", panel_name, "_size"), s); - highlightedPanel_backup = -1; - } + HUD_Panel_GetName(highlightedPanel_backup); + s = strcat(ftos(panel_pos_backup_x/vid_conwidth), " ", ftos(panel_pos_backup_y/vid_conheight)); + cvar_set(strcat("hud_panel_", panel_name, "_pos"), s); + s = strcat(ftos(panel_size_backup_x/vid_conwidth), " ", ftos(panel_size_backup_y/vid_conheight)); + cvar_set(strcat("hud_panel_", panel_name, "_size"), s); + highlightedPanel_backup = -1; } } else if(nPrimary == K_UPARROW || nPrimary == K_DOWNARROW || nPrimary == K_LEFTARROW || nPrimary == K_RIGHTARROW) @@ -1159,42 +1163,38 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary) float HUD_Panel_HighlightCheck() { float i, j, border; - vector panelPos; - vector panelSize; - while(j <= HUD_PANEL_NUM) + while(j < HUD_PANEL_NUM) { i = panel_order[j]; j += 1; HUD_Panel_UpdatePosSizeForId(i); - panelPos = panel_pos; - panelSize = panel_size; border = max(8, panel_bg_border); // FORCED border so a small border size doesn't mean you can't resize // move - if(mousepos_x >= panelPos_x && mousepos_y >= panelPos_y && mousepos_x <= panelPos_x + panelSize_x && mousepos_y <= panelPos_y + panelSize_y) + if(mousepos_x >= panel_pos_x && mousepos_y >= panel_pos_y && mousepos_x <= panel_pos_x + panel_size_x && mousepos_y <= panel_pos_y + panel_size_y) { return 1; } // resize from topleft border - else if(mousepos_x >= panelPos_x - border && mousepos_y >= panelPos_y - border && mousepos_x <= panelPos_x + 0.5 * panelSize_x && mousepos_y <= panelPos_y + 0.5 * panelSize_y) + else if(mousepos_x >= panel_pos_x - border && mousepos_y >= panel_pos_y - border && mousepos_x <= panel_pos_x + 0.5 * panel_size_x && mousepos_y <= panel_pos_y + 0.5 * panel_size_y) { return 2; } // resize from topright border - else if(mousepos_x >= panelPos_x + 0.5 * panelSize_x && mousepos_y >= panelPos_y - border && mousepos_x <= panelPos_x + panelSize_x + border && mousepos_y <= panelPos_y + 0.5 * panelSize_y) + else if(mousepos_x >= panel_pos_x + 0.5 * panel_size_x && mousepos_y >= panel_pos_y - border && mousepos_x <= panel_pos_x + panel_size_x + border && mousepos_y <= panel_pos_y + 0.5 * panel_size_y) { return 3; } // resize from bottomleft border - else if(mousepos_x >= panelPos_x - border && mousepos_y >= panelPos_y + 0.5 * panelSize_y && mousepos_x <= panelPos_x + 0.5 * panelSize_x && mousepos_y <= panelPos_y + panelSize_y + border) + else if(mousepos_x >= panel_pos_x - border && mousepos_y >= panel_pos_y + 0.5 * panel_size_y && mousepos_x <= panel_pos_x + 0.5 * panel_size_x && mousepos_y <= panel_pos_y + panel_size_y + border) { return 3; } // resize from bottomright border - else if(mousepos_x >= panelPos_x + 0.5 * panelSize_x && mousepos_y >= panelPos_y + 0.5 * panelSize_y && mousepos_x <= panelPos_x + panelSize_x + border && mousepos_y <= panelPos_y + panelSize_y + border) + else if(mousepos_x >= panel_pos_x + 0.5 * panel_size_x && mousepos_y >= panel_pos_y + 0.5 * panel_size_y && mousepos_x <= panel_pos_x + panel_size_x + border && mousepos_y <= panel_pos_y + panel_size_y + border) { return 2; } @@ -1243,73 +1243,69 @@ void HUD_Panel_FirstInDrawQ(float id) void HUD_Panel_Highlight() { float i, j, border; - vector panelPos; - vector panelSize; - while(j <= HUD_PANEL_NUM) + while(j < HUD_PANEL_NUM) { i = panel_order[j]; j += 1; HUD_Panel_UpdatePosSizeForId(i); - panelPos = panel_pos; - panelSize = panel_size; border = max(8, panel_bg_border); // FORCED border so a small border size doesn't mean you can't resize // move - if(mousepos_x >= panelPos_x && mousepos_y >= panelPos_y && mousepos_x <= panelPos_x + panelSize_x && mousepos_y <= panelPos_y + panelSize_y) + if(mousepos_x >= panel_pos_x && mousepos_y >= panel_pos_y && mousepos_x <= panel_pos_x + panel_size_x && mousepos_y <= panel_pos_y + panel_size_y) { highlightedPanel = i; HUD_Panel_FirstInDrawQ(i); highlightedAction = 1; - panel_click_distance = mousepos - panelPos; + panel_click_distance = mousepos - panel_pos; return; } // resize from topleft border - else if(mousepos_x >= panelPos_x - border && mousepos_y >= panelPos_y - border && mousepos_x <= panelPos_x + 0.5 * panelSize_x && mousepos_y <= panelPos_y + 0.5 * panelSize_y) + else if(mousepos_x >= panel_pos_x - border && mousepos_y >= panel_pos_y - border && mousepos_x <= panel_pos_x + 0.5 * panel_size_x && mousepos_y <= panel_pos_y + 0.5 * panel_size_y) { highlightedPanel = i; HUD_Panel_FirstInDrawQ(i); highlightedAction = 2; resizeCorner = 1; - panel_click_distance = mousepos - panelPos; - panel_click_resizeorigin = panelPos + panelSize; + panel_click_distance = mousepos - panel_pos; + panel_click_resizeorigin = panel_pos + panel_size; return; } // resize from topright border - else if(mousepos_x >= panelPos_x + 0.5 * panelSize_x && mousepos_y >= panelPos_y - border && mousepos_x <= panelPos_x + panelSize_x + border && mousepos_y <= panelPos_y + 0.5 * panelSize_y) + else if(mousepos_x >= panel_pos_x + 0.5 * panel_size_x && mousepos_y >= panel_pos_y - border && mousepos_x <= panel_pos_x + panel_size_x + border && mousepos_y <= panel_pos_y + 0.5 * panel_size_y) { highlightedPanel = i; HUD_Panel_FirstInDrawQ(i); highlightedAction = 2; resizeCorner = 2; - panel_click_distance_x = panelSize_x - mousepos_x + panelPos_x; - panel_click_distance_y = mousepos_y - panelPos_y; - panel_click_resizeorigin = panelPos + eY * panelSize_y; + panel_click_distance_x = panel_size_x - mousepos_x + panel_pos_x; + panel_click_distance_y = mousepos_y - panel_pos_y; + panel_click_resizeorigin = panel_pos + eY * panel_size_y; return; } // resize from bottomleft border - else if(mousepos_x >= panelPos_x - border && mousepos_y >= panelPos_y + 0.5 * panelSize_y && mousepos_x <= panelPos_x + 0.5 * panelSize_x && mousepos_y <= panelPos_y + panelSize_y + border) + else if(mousepos_x >= panel_pos_x - border && mousepos_y >= panel_pos_y + 0.5 * panel_size_y && mousepos_x <= panel_pos_x + 0.5 * panel_size_x && mousepos_y <= panel_pos_y + panel_size_y + border) { highlightedPanel = i; HUD_Panel_FirstInDrawQ(i); highlightedAction = 2; resizeCorner = 3; - panel_click_distance_x = mousepos_x - panelPos_x; - panel_click_distance_y = panelSize_y - mousepos_y + panelPos_y; - panel_click_resizeorigin = panelPos + eX * panelSize_x; + panel_click_distance_x = mousepos_x - panel_pos_x; + panel_click_distance_y = panel_size_y - mousepos_y + panel_pos_y; + panel_click_resizeorigin = panel_pos + eX * panel_size_x; return; } // resize from bottomright border - else if(mousepos_x >= panelPos_x + 0.5 * panelSize_x && mousepos_y >= panelPos_y + 0.5 * panelSize_y && mousepos_x <= panelPos_x + panelSize_x + border && mousepos_y <= panelPos_y + panelSize_y + border) + else if(mousepos_x >= panel_pos_x + 0.5 * panel_size_x && mousepos_y >= panel_pos_y + 0.5 * panel_size_y && mousepos_x <= panel_pos_x + panel_size_x + border && mousepos_y <= panel_pos_y + panel_size_y + border) { highlightedPanel = i; HUD_Panel_FirstInDrawQ(i); highlightedAction = 2; resizeCorner = 4; - panel_click_distance = panelSize - mousepos + panelPos; - panel_click_resizeorigin = panelPos; + panel_click_distance = panel_size - mousepos + panel_pos; + panel_click_resizeorigin = panel_pos; return; } else @@ -1423,13 +1419,13 @@ void HUD_Panel_Mouse() cursorsize = '32 32 0'; if(highlightcheck == 0) - drawpic(mousepos, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); else if(highlightcheck == 1) - drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_move.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_move.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); else if(highlightcheck == 2) - drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); else - drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize2.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize2.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); prevMouseClicked = mouseClicked; } @@ -1501,8 +1497,11 @@ void HUD_Weapons(void) float f, screen_ar; float center_x, center_y; - if(!autocvar_hud_panel_weapons && !autocvar__hud_configure) - return; + if(!autocvar__hud_configure) + { + if(!autocvar_hud_panel_weapons) return; + if(spectatee_status == -1) return; + } float timeout = cvar("hud_panel_weapons_timeout"); float timeout_effect_length, timein_effect_length; @@ -1864,7 +1863,7 @@ void DrawAmmoItem(vector myPos, vector mySize, float itemcode, float currently_s if(autocvar__hud_configure) { currently_selected = (itemcode == 2); //rockets always selected - a = 100; + a = 31 + mod(itemcode*93, 128); } else a = getstati(GetAmmoStat(itemcode)); // how much ammo do we have of type itemcode? @@ -1908,8 +1907,11 @@ void DrawAmmoItem(vector myPos, vector mySize, float itemcode, float currently_s void HUD_Ammo(void) { - if(!autocvar_hud_panel_ammo && !autocvar__hud_configure) - return; + if(!autocvar__hud_configure) + { + if(!autocvar_hud_panel_ammo) return; + if(spectatee_status == -1) return; + } active_panel = HUD_PANEL_AMMO; HUD_Panel_UpdateCvars(ammo); @@ -1991,10 +1993,51 @@ void HUD_Ammo(void) drawfont = hud_font; } -void DrawNumIcon(float iconalign, vector myPos, vector mySize, float x, string icon, float left, vector color, float alpha) +void DrawNumIcon(vector myPos, vector mySize, float x, string icon, float vertical, float icon_right_align, vector color, float alpha) { - vector newPos; - float newSize_x, newSize_y; + vector newPos, newSize; + vector picpos, numpos; + + if (vertical) + { + if(mySize_y/mySize_x > 2) + { + newSize_y = 2 * mySize_x; + newSize_x = mySize_x; + + newPos_y = myPos_y + (mySize_y - newSize_y) / 2; + newPos_x = myPos_x; + } + else + { + newSize_x = 1/2 * mySize_y; + newSize_y = mySize_y; + + newPos_x = myPos_x + (mySize_x - newSize_x) / 2; + newPos_y = myPos_y; + } + + if(icon_right_align) + { + numpos = newPos; + picpos = newPos + eY * newSize_x; + } + else + { + picpos = newPos; + numpos = newPos + eY * newSize_x; + } + + newSize_y /= 2; + drawpic_aspect_skin(picpos, icon, newSize, '1 1 1', panel_fg_alpha * alpha, DRAWFLAG_NORMAL); + // make number smaller than icon, it looks better + // reduce only y to draw numbers with different number of digits with the same y size + numpos_y += newSize_y * ((1 - 0.7) / 2); + newSize_y *= 0.7; + drawstring_aspect(numpos, ftos(x), newSize, color, panel_fg_alpha * alpha, DRAWFLAG_NORMAL); + return; + } + if(mySize_x/mySize_y > 3) { newSize_x = 3 * mySize_y; @@ -2012,61 +2055,38 @@ void DrawNumIcon(float iconalign, vector myPos, vector mySize, float x, string i newPos_x = myPos_x; } - vector picpos, numpos; - if(left) + if(icon_right_align) // right align { - if(iconalign == 1 || iconalign == 3) // right align - { - numpos = newPos; - picpos = newPos + eX * 2 * newSize_y; - } - else // left align - { - numpos = newPos + eX * newSize_y; - picpos = newPos; - } + numpos = newPos; + picpos = newPos + eX * 2 * newSize_y; } - else + else // left align { - if(iconalign == 0 || iconalign == 3) // left align - { - numpos = newPos + eX * newSize_y; - picpos = newPos; - } - else // right align - { - numpos = newPos; - picpos = newPos + eX * 2 * newSize_y; - } + numpos = newPos + eX * newSize_y; + picpos = newPos; } - drawfont = hud_bigfont; - drawstring_aspect(numpos, ftos(x), eX * (2/3) * newSize_x + eY * newSize_y, color, panel_fg_alpha * alpha, DRAWFLAG_NORMAL); - drawfont = hud_font; + drawstring_aspect(numpos, ftos(x), '2 1 0' * newSize_y, color, panel_fg_alpha * alpha, DRAWFLAG_NORMAL); drawpic_aspect_skin(picpos, icon, '1 1 0' * newSize_y, '1 1 1', panel_fg_alpha * alpha, DRAWFLAG_NORMAL); } -void DrawNumIcon_expanding(float iconalign, vector myPos, vector mySize, float x, string icon, float left, vector color, float fadelerp) +void DrawNumIcon_expanding(vector myPos, vector mySize, float x, string icon, float vertical, float icon_right_align, vector color, float fadelerp) { float sz; sz = expandingbox_sizefactor_from_fadelerp(fadelerp); - DrawNumIcon(iconalign, myPos + expandingbox_resize_centered_box_offset(sz, mySize, 1), mySize * sz, x, icon, left, color, (1 - fadelerp)); + DrawNumIcon(myPos + expandingbox_resize_centered_box_offset(sz, mySize, 1), mySize * sz, x, icon, vertical, icon_right_align, color, (1 - fadelerp)); } // Powerups (#2) // void HUD_Powerups(void) { - if(!autocvar_hud_panel_powerups && !autocvar__hud_configure) - return; - if(!autocvar__hud_configure) { - if not(getstati(STAT_ITEMS) & (IT_STRENGTH | IT_INVINCIBLE)) - return; - - if (getstati(STAT_HEALTH) <= 0) - return; + if(!autocvar_hud_panel_powerups) return; + if(spectatee_status == -1) return; + if not(getstati(STAT_ITEMS) & (IT_STRENGTH | IT_INVINCIBLE)) return; + if (getstati(STAT_HEALTH) <= 0) return; } active_panel = HUD_PANEL_POWERUPS; @@ -2101,8 +2121,7 @@ void HUD_Powerups(void) { string leftname, rightname; float leftcnt, rightcnt; float leftexact, rightexact; - float flip = cvar("hud_panel_powerups_flip"); - if (flip) { + if (cvar("hud_panel_powerups_flip")) { leftname = "strength"; leftcnt = ceil(strength_time); leftexact = strength_time; @@ -2124,154 +2143,62 @@ void HUD_Powerups(void) { float baralign = cvar("hud_panel_powerups_baralign"); float iconalign = cvar("hud_panel_powerups_iconalign"); float progressbar = cvar("hud_panel_powerups_progressbar"); - if (mySize_x/mySize_y > 4) + float panel_ar = mySize_x/mySize_y; + float is_vertical = (panel_ar < 1); + if (panel_ar >= 4 || (panel_ar >= 1/4 && panel_ar < 1)) { if(leftcnt) { - if(baralign == 1 || baralign == 3) { // right align - barpos = pos + eX * 0.5 * mySize_x - eX * 0.5 * mySize_x * min(1, leftcnt/30); - barsize = eX * 0.5 * mySize_x * min(1, leftcnt/30) + eY * mySize_y; - } else { // left align - barpos = pos; - barsize = eX * 0.5 * mySize_x * min(1, leftcnt/30) + eY * mySize_y; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, eX * 0.5 * mySize_x + eY * mySize_y, min(1, leftcnt/30), is_vertical, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); } if(leftcnt > 1) - DrawNumIcon(iconalign, pos, eX * 0.5 * mySize_x + eY * mySize_y, leftcnt, leftname, 1, '1 1 1', 1); + DrawNumIcon(pos, eX * 0.5 * mySize_x + eY * mySize_y, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', 1); if(leftcnt <= 5) - DrawNumIcon_expanding(iconalign, pos, eX * 0.5 * mySize_x + eY * mySize_y, leftcnt, leftname, 1, '1 1 1', bound(0, (leftcnt - leftexact) / 0.5, 1)); + DrawNumIcon_expanding(pos, eX * 0.5 * mySize_x + eY * mySize_y, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', bound(0, (leftcnt - leftexact) / 0.5, 1)); } if(rightcnt) { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos + eX * 0.5 * mySize_x; - barsize = eX * 0.5 * mySize_x * min(1, rightcnt/30) + eY * mySize_y; - } else { // right align - barpos = pos + eX * mySize_x - eX * 0.5 * mySize_x * min(1, rightcnt/30); - barsize = eX * 0.5 * mySize_x * min(1, rightcnt/30) + eY * mySize_y; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, min(1, rightcnt/30), is_vertical, (baralign == 1 || baralign == 3), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); } if(rightcnt > 1) - DrawNumIcon(iconalign, pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, rightcnt, rightname, 0, '1 1 1', 1); + DrawNumIcon(pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), '1 1 1', 1); if(rightcnt <= 5) - DrawNumIcon_expanding(iconalign, pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, rightcnt, rightname, 0, '1 1 1', bound(0, (rightcnt - rightexact) / 0.5, 1)); + DrawNumIcon_expanding(pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), '1 1 1', bound(0, (rightcnt - rightexact) / 0.5, 1)); } } - else if (mySize_x/mySize_y > 1.5) + else { if(leftcnt) { - if(baralign == 1 || baralign == 3) { // right align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, leftcnt/30); - barsize = eX * mySize_x * min(1, leftcnt/30) + eY * 0.5 * mySize_y; - } else { // left align - barpos = pos; - barsize = eX * mySize_x * min(1, leftcnt/30) + eY * 0.5 * mySize_y; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, eX * mySize_x + eY * 0.5 * mySize_y, min(1, leftcnt/30), is_vertical, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); } if(leftcnt > 1) - DrawNumIcon(iconalign, pos, eX * mySize_x + eY * 0.5 * mySize_y, leftcnt, leftname, 1, '1 1 1', 1); + DrawNumIcon(pos, eX * mySize_x + eY * 0.5 * mySize_y, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', 1); if(leftcnt <= 5) - DrawNumIcon_expanding(iconalign, pos, eX * mySize_x + eY * 0.5 * mySize_y, leftcnt, leftname, 1, '1 1 1', bound(0, (leftcnt - leftexact) / 0.5, 1)); + DrawNumIcon_expanding(pos, eX * mySize_x + eY * 0.5 * mySize_y, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', bound(0, (leftcnt - leftexact) / 0.5, 1)); } if(rightcnt) { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos + eY * 0.5 * mySize_y; - barsize = eX * mySize_x * min(1, rightcnt/30) + eY * 0.5 * mySize_y; - } else { // right align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, rightcnt/30) + eY * 0.5 * mySize_y; - barsize = eX * mySize_x * min(1, rightcnt/30) + eY * 0.5 * mySize_y; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, min(1, rightcnt/30), is_vertical, (baralign == 1 || baralign == 3), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); } if(rightcnt > 1) - DrawNumIcon(iconalign, pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, rightcnt, rightname, 0, '1 1 1', 1); + DrawNumIcon(pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), '1 1 1', 1); if(rightcnt <= 5) - DrawNumIcon_expanding(iconalign, pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, rightcnt, rightname, 0, '1 1 1', bound(0, (rightcnt - rightexact) / 0.5, 1)); - } - } - else - { - if(leftcnt) - { - if(baralign == 1 || baralign == 3) { // down align - barpos = pos + eY * mySize_y - eY * mySize_y * min(1, leftcnt/30); - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, leftcnt/30); - } else { // up align - barpos = pos; - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, leftcnt/30); - } - - if(iconalign == 1 || iconalign == 3) { // down align - picpos = pos + eX * 0.05 * mySize_x + eY * (mySize_y - 0.65 * mySize_x); - numpos = pos + eY * mySize_y - eY * 0.25 * mySize_x; - } else { // up align - picpos = pos + eX * 0.05 * mySize_x; - numpos = pos + eY * 0.4 * mySize_x; - } - - if(progressbar) - { - HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(barpos, 1, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); - } - if(leftcnt <= 5) - drawpic_aspect_skin_expanding(picpos, leftname, '0.4 0.4 0' * mySize_x, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL, bound(0, (leftcnt - leftexact) / 0.5, 1)); - if(leftcnt > 1) - drawpic_aspect_skin(picpos, leftname, '0.4 0.4 0' * mySize_x, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawstring_aspect(numpos, ftos(leftcnt), eX * 0.5 * mySize_x + eY * 0.25 * mySize_x, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - } - - if(rightcnt) - { - if(baralign == 0 || baralign == 3) { // up align - barpos = pos + eX * 0.5 * mySize_x; - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, rightcnt/30); - } else { // down align - barpos = pos + eY * mySize_y - eY * mySize_y * min(1, rightcnt/30) + eX * 0.5 * mySize_x; - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, rightcnt/30); - } - - if(iconalign == 0 || iconalign == 3) { // up align - picpos = pos + eX * 0.05 * mySize_x + eX * 0.5 * mySize_x; - numpos = pos + eY * 0.4 * mySize_x + eX * 0.5 * mySize_x; - } else { // down align - picpos = pos + eX * 0.05 * mySize_x + eY * (mySize_y - 0.65 * mySize_x) + eX * 0.5 * mySize_x; - numpos = pos + eY * mySize_y - eY * 0.25 * mySize_x + eX * 0.5 * mySize_x; - } - - if(progressbar) - { - HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(barpos, 1, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * bound(0, max(strength_time, shield_time), 1), DRAWFLAG_NORMAL); - } - if(rightcnt <= 5) - drawpic_aspect_skin_expanding(picpos, rightname, '0.4 0.4 0' * mySize_x, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL, bound(0, (rightcnt - rightexact) / 0.5, 1)); - if(rightcnt > 1) - drawpic_aspect_skin(picpos, rightname, '0.4 0.4 0' * mySize_x, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawstring_aspect(numpos, ftos(rightcnt), eX * 0.5 * mySize_x + eY * 0.25 * mySize_x, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + DrawNumIcon_expanding(pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), '1 1 1', bound(0, (rightcnt - rightexact) / 0.5, 1)); } } drawfont = hud_font; @@ -2281,8 +2208,11 @@ void HUD_Powerups(void) { // void HUD_HealthArmor(void) { - if(!autocvar_hud_panel_healtharmor && !autocvar__hud_configure) - return; + if(!autocvar__hud_configure) + { + if(!autocvar_hud_panel_healtharmor) return; + if(spectatee_status == -1) return; + } active_panel = HUD_PANEL_HEALTHARMOR; HUD_Panel_UpdateCvars(healtharmor); @@ -2313,8 +2243,7 @@ void HUD_HealthArmor(void) return; vector barpos, barsize; - vector picpos; - vector numpos; + vector picpos, numpos; drawfont = hud_bigfont; float baralign = cvar("hud_panel_healtharmor_baralign"); @@ -2328,14 +2257,6 @@ void HUD_HealthArmor(void) float x; x = floor(v_x + 1); - if(baralign == 1 || baralign == 3) { // right align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, x/400); - barsize = eX * mySize_x * min(1, x/400) + eY * mySize_y; - } else { // left align - barpos = pos; - barsize = eX * mySize_x * min(1, x/400) + eY * mySize_y; - } - string biggercount; if(v_z) // NOT fully armored { @@ -2343,7 +2264,7 @@ void HUD_HealthArmor(void) if(progressbar) { HUD_Panel_GetProgressBarColor(health); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, mySize, min(1, x/400), 0, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } if(armor) drawpic_aspect_skin(pos + eX * mySize_x - eX * 0.5 * mySize_y, "armor", '0.5 0.5 0' * mySize_y, '1 1 1', panel_fg_alpha * armor / health, DRAWFLAG_NORMAL); @@ -2354,25 +2275,17 @@ void HUD_HealthArmor(void) if(progressbar) { HUD_Panel_GetProgressBarColor(armor); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, mySize, min(1, x/400), 0, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } if(health) drawpic_aspect_skin(pos + eX * mySize_x - eX * 0.5 * mySize_y, "health", '0.5 0.5 0' * mySize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); } - DrawNumIcon(iconalign, pos, mySize, x, biggercount, 1, HUD_Get_Num_Color(x, 2 * 200), 1); + DrawNumIcon(pos, mySize, x, biggercount, 0, iconalign, HUD_Get_Num_Color(x, 2 * 200), 1); - // fuel if(fuel) { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, fuel/100); - barsize = eX * mySize_x * min(1, fuel/100) + eY * 0.2 * mySize_y; - } else { - barpos = pos; - barsize = eX * mySize_x * min(1, fuel/100) + eY * 0.2 * mySize_y; - } HUD_Panel_GetProgressBarColor(fuel); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, eX * mySize_x + eY * 0.2 * mySize_y, min(1, fuel/100), 0, (baralign == 1 || baralign == 3), progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL); } } else @@ -2381,8 +2294,7 @@ void HUD_HealthArmor(void) float leftcnt, rightcnt; float leftactive, rightactive; float leftalpha, rightalpha; - float flip = cvar("hud_panel_healtharmor_flip"); - if (flip) { // old style layout with armor left/top of health + if (cvar("hud_panel_healtharmor_flip")) { // layout with armor left/top of health leftname = "armor"; leftcnt = armor; if(leftcnt) @@ -2406,175 +2318,70 @@ void HUD_HealthArmor(void) rightalpha = min((armor+10)/55, 1); } - if (mySize_x/mySize_y > 4) + float panel_ar = mySize_x/mySize_y; + float is_vertical = (panel_ar < 1); + if (panel_ar >= 4 || (panel_ar >= 1/4 && panel_ar < 1)) { if(leftactive) { - if(baralign == 1 || baralign == 3) { // right align - barpos = pos + eX * 0.5 * mySize_x - eX * 0.5 * mySize_x * min(1, leftcnt/200); - barsize = eX * 0.5 * mySize_x * min(1, leftcnt/200) + eY * mySize_y; - } else { // left align - barpos = pos; - barsize = eX * 0.5 * mySize_x * min(1, leftcnt/200) + eY * mySize_y; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, eX * 0.5 * mySize_x + eY * mySize_y, min(1, leftcnt/200), is_vertical, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } - DrawNumIcon(iconalign, pos, eX * 0.5 * mySize_x + eY * mySize_y, leftcnt, leftname, 1, HUD_Get_Num_Color(leftcnt, 200), 1); + DrawNumIcon(pos, eX * 0.5 * mySize_x + eY * mySize_y, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), HUD_Get_Num_Color(leftcnt, 200), 1); } if(rightactive) { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos + eX * 0.5 * mySize_x; - barsize = eX * 0.5 * mySize_x * min(1, rightcnt/200) + eY * mySize_y; - } else { // right align - barpos = pos + eX * mySize_x - eX * 0.5 * mySize_x * min(1, rightcnt/200); - barsize = eX * 0.5 * mySize_x * min(1, rightcnt/200) + eY * mySize_y; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, min(1, rightcnt/200), is_vertical, (baralign == 1 || baralign == 3), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } - DrawNumIcon(iconalign, pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, rightcnt, rightname, 0, HUD_Get_Num_Color(rightcnt, 200), 1); + DrawNumIcon(pos + eX * 0.5 * mySize_x, eX * 0.5 * mySize_x + eY * mySize_y, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), HUD_Get_Num_Color(rightcnt, 200), 1); } if(fuel) { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, fuel/100); - barsize = eX * mySize_x * min(1, fuel/100) + eY * 0.2 * mySize_y; - } else { - barpos = pos; - barsize = eX * mySize_x * min(1, fuel/100) + eY * 0.2 * mySize_y; - } HUD_Panel_GetProgressBarColor(fuel); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL); - } - } - else if (mySize_x/mySize_y > 1.5) - { - if(leftactive) - { - if(baralign == 1 || baralign == 3) { // right align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, leftcnt/200); - barsize = eX * mySize_x * min(1, leftcnt/200) + eY * 0.5 * mySize_y; - } else { // left align - barpos = pos; - barsize = eX * mySize_x * min(1, leftcnt/200) + eY * 0.5 * mySize_y; - } - - if(progressbar) - { - HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); - } - DrawNumIcon(iconalign, pos, eX * mySize_x + eY * 0.5 * mySize_y, leftcnt, leftname, 1, HUD_Get_Num_Color(leftcnt, 200), 1); - } - - if(rightactive) - { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos + eY * 0.5 * mySize_y; - barsize = eX * mySize_x * min(1, rightcnt/200) + eY * 0.5 * mySize_y; - } else { // right align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, rightcnt/200) + eY * 0.5 * mySize_y; - barsize = eX * mySize_x * min(1, rightcnt/200) + eY * 0.5 * mySize_y; - } - - if(progressbar) - { - HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); - } - DrawNumIcon(iconalign, pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, rightcnt, rightname, 0, HUD_Get_Num_Color(rightcnt, 200), 1); - } - - if(fuel) - { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos + eX * mySize_x - eX * mySize_x * min(1, fuel/100); - barsize = eX * mySize_x * min(1, fuel/100) + eY * 0.1 * mySize_y; - } else { - barpos = pos; - barsize = eX * mySize_x * min(1, fuel/100) + eY * 0.1 * mySize_y; - } - HUD_Panel_GetProgressBarColor(fuel); - HUD_Panel_DrawProgressBar(barpos, 0, barsize, progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL); + if (is_vertical) //if vertical always halve x to not cover too much numbers with 3 digits + mySize_x *= 0.2 * 0.5 / 2; + else + mySize_y *= 0.2; + HUD_Panel_DrawProgressBar(pos, mySize, min(1, fuel/100), is_vertical, (baralign == 1 || baralign == 3), progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL); } } else { if(leftactive) { - if(baralign == 1 || baralign == 3) { // down align - barpos = pos + eY * mySize_y - eY * mySize_y * min(1, leftcnt/200); - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, leftcnt/200); - } else { // up align - barpos = pos; - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, leftcnt/200); - } - - if(iconalign == 1 || iconalign == 3) { // down align - picpos = pos + eX * 0.05 * mySize_x + eY * (mySize_y - 0.65 * mySize_x); - numpos = pos + eY * mySize_y - eY * 0.25 * mySize_x; - } else { // up align - picpos = pos + eX * 0.05 * mySize_x; - numpos = pos + eY * 0.4 * mySize_x; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(barpos, 1, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, eX * mySize_x + eY * 0.5 * mySize_y, min(1, leftcnt/200), is_vertical, (baralign == 1 || baralign == 2), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } - drawpic_aspect_skin(picpos, leftname, '0.4 0.4 0' * mySize_x, '1 1 1', leftalpha * panel_fg_alpha, DRAWFLAG_NORMAL); - drawstring_aspect(numpos, ftos(leftcnt), eX * 0.5 * mySize_x + eY * 0.25 * mySize_x, HUD_Get_Num_Color(leftcnt, 200), panel_fg_alpha, DRAWFLAG_NORMAL); + DrawNumIcon(pos, eX * mySize_x + eY * 0.5 * mySize_y, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), HUD_Get_Num_Color(leftcnt, 200), 1); } if(rightactive) { - if(baralign == 0 || baralign == 3) { // up align - barpos = pos + eX * 0.5 * mySize_x; - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, rightcnt/200); - } else { // down align - barpos = pos + eY * mySize_y - eY * mySize_y * min(1, rightcnt/200) + eX * 0.5 * mySize_x; - barsize = eX * 0.5 * mySize_x + eY * mySize_y * min(1, rightcnt/200); - } - - if(iconalign == 0 || iconalign == 3) { // up align - picpos = pos + eX * 0.05 * mySize_x + eX * 0.5 * mySize_x; - numpos = pos + eY * 0.4 * mySize_x + eX * 0.5 * mySize_x; - } else { // down align - picpos = pos + eX * 0.05 * mySize_x + eY * (mySize_y - 0.65 * mySize_x) + eX * 0.5 * mySize_x; - numpos = pos + eY * mySize_y - eY * 0.25 * mySize_x + eX * 0.5 * mySize_x; - } - if(progressbar) { HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(barpos, 1, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, min(1, rightcnt/200), is_vertical, (baralign == 1 || baralign == 3), progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } - drawpic_aspect_skin(picpos, rightname, '0.4 0.4 0' * mySize_x, '1 1 1', rightalpha * panel_fg_alpha, DRAWFLAG_NORMAL); - drawstring_aspect(numpos, ftos(rightcnt), eX * 0.5 * mySize_x + eY * 0.25 * mySize_x, HUD_Get_Num_Color(rightcnt, 200), panel_fg_alpha, DRAWFLAG_NORMAL); + DrawNumIcon(pos + eY * 0.5 * mySize_y, eX * mySize_x + eY * 0.5 * mySize_y, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), HUD_Get_Num_Color(rightcnt, 200), 1); } if(fuel) { - if(baralign == 0 || baralign == 3) { // left align - barpos = pos; - barsize = eX * 0.05 * mySize_x + eY * mySize_y * min(1, fuel/100); - } else { - barpos = pos + eY * mySize_y - eY * mySize_y * min(1, fuel/100); - barsize = eX * 0.05 * mySize_x + eY * mySize_y * min(1, fuel/100); - } HUD_Panel_GetProgressBarColor(fuel); - HUD_Panel_DrawProgressBar(barpos, 1, barsize, progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL); + if (is_vertical) //if vertical always halve x to not cover numbers with 3 digits + mySize_x *= 0.2 / 2; + else + mySize_y *= 0.2 * 0.5; + HUD_Panel_DrawProgressBar(pos, mySize, min(1, fuel/100), is_vertical, (baralign == 1 || baralign == 3), progressbar_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL); } } } @@ -3443,8 +3250,7 @@ void HUD_Radar(void) mySize -= '2 2 0' * panel_bg_padding; } - local float color1, color2; // color already declared as a global in hud.qc - local vector rgb; + local float color2; local entity tm; float scale2d, normalsize, bigsize; float f; @@ -3524,9 +3330,6 @@ void HUD_Radar(void) f * (mi_min + mi_max) * 0.5 + (1 - f) * view_origin); - color1 = GetPlayerColor(player_localentnum-1); - rgb = GetTeamRGB(color1); - drawsetcliparea( pos_x, pos_y, @@ -3553,9 +3356,10 @@ void HUD_Radar(void) // Score (#7) // +void HUD_UpdatePlayerTeams(); void HUD_Score(void) { - if(!autocvar_hud_panel_score && !autocvar__hud_configure) + if(!autocvar__hud_configure && !autocvar_hud_panel_score) return; active_panel = HUD_PANEL_SCORE; @@ -3571,7 +3375,7 @@ void HUD_Score(void) mySize -= '2 2 0' * panel_bg_padding; } - float score, distribution, leader; + float score, distribution; string sign; vector distribution_color; entity tm, pl, me; @@ -3613,6 +3417,86 @@ void HUD_Score(void) drawstring_aspect(pos, timer, eX * 0.75 * mySize_x + eY * mySize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); drawfont = hud_font; } else if (!teamplay) { // non-teamgames + if ((spectatee_status == -1 && !autocvar__hud_configure) || cvar("hud_panel_score_rankings")) + { +#define SCOREPANEL_MAX_ENTRIES 6 +#define SCOREPANEL_ASPECTRATIO 2 + float entries = bound(1, floor(SCOREPANEL_MAX_ENTRIES * mySize_y/mySize_x * SCOREPANEL_ASPECTRATIO), SCOREPANEL_MAX_ENTRIES); + float height = mySize_y/entries; + vector fontsize = '0.9 0.9 0' * height; + pos_y += height * (1 - 0.9) / 2; + + vector rgb; + rgb = '1 1 1'; + + float name_size = mySize_x*0.75; + float i, me_printed; + string s; + if (autocvar__hud_configure) + { + score = 10 + SCOREPANEL_MAX_ENTRIES * 3; + for (i=0; i= 5) { + if(distribution >= 5) distribution_color = eY; - leader = 1; - } else if(distribution >= 0) { + else if(distribution >= 0) distribution_color = '1 1 1'; - leader = 1; - } else if(distribution >= -5) + else if(distribution >= -5) distribution_color = '1 1 0'; else distribution_color = eX; - drawstring_aspect(pos + eX * 0.75 * mySize_x, ftos(distribution), eX * 0.25 * mySize_x + eY * (1/3) * mySize_y, distribution_color, panel_fg_alpha, DRAWFLAG_NORMAL); - if (leader) + string distribution_str; + distribution_str = ftos(distribution); + if (distribution >= 0) + { + if (distribution > 0) + distribution_str = strcat("+", distribution_str); HUD_Panel_DrawHighlight(pos, eX * 0.75 * mySize_x + eY * mySize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + } drawfont = hud_bigfont; drawstring_aspect(pos, ftos(score), eX * 0.75 * mySize_x + eY * mySize_y, distribution_color, panel_fg_alpha, DRAWFLAG_NORMAL); drawfont = hud_font; + drawstring_aspect(pos + eX * 0.75 * mySize_x, distribution_str, eX * 0.25 * mySize_x + eY * (1/3) * mySize_y, distribution_color, panel_fg_alpha, DRAWFLAG_NORMAL); } else { // teamgames float max_fragcount; max_fragcount = -99; - float teamnum; + float scores_count, row, column, rows, columns; + vector offset; + vector score_pos, score_size; //for scores other than myteam + if (spectatee_status == -1) + { + if (autocvar__hud_configure) + scores_count = 4; + else for(tm = teams.sort_next; tm; tm = tm.sort_next) { + if(tm.team == COLOR_SPECTATOR) + continue; + ++scores_count; + } + rows = mySize_y/mySize_x; + rows = bound(1, floor((sqrt(4 * (3/1) * rows * scores_count + rows * rows) + rows + 0.5) / 2), scores_count); + // ^^^ ammo item aspect goes here + + columns = ceil(scores_count/rows); + + score_size = eX * mySize_x*(1/columns) + eY * mySize_y*(1/rows); + + float newSize; + if(score_size_x/score_size_y > 3) + { + newSize = 3 * score_size_y; + offset_x = score_size_x - newSize; + pos_x += offset_x/2; + score_size_x = newSize; + } + else + { + newSize = 1/3 * score_size_x; + offset_y = score_size_y - newSize; + pos_y += offset_y/2; + score_size_y = newSize; + } + } + else + score_size = eX * mySize_x*(1/4) + eY * mySize_y*(1/3); for(tm = teams.sort_next; tm; tm = tm.sort_next) { - if(tm.team == COLOR_SPECTATOR || (!tm.team_size && !autocvar__hud_configure)) // no players? don't display + if(tm.team == COLOR_SPECTATOR) continue; score = tm.(teamscores[ts_primary]); if(autocvar__hud_configure) score = 123; - leader = 0; if (score > max_fragcount) max_fragcount = score; - if(tm.team == myteam) { + if (spectatee_status == -1) + { + score_pos = pos + eX * column * (score_size_x + offset_x) + eY * row * (score_size_y + offset_y); + if (max_fragcount == score) + HUD_Panel_DrawHighlight(score_pos, score_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawfont = hud_bigfont; + drawstring_aspect(score_pos, ftos(score), score_size, GetTeamRGB(tm.team) * 0.8, panel_fg_alpha, DRAWFLAG_NORMAL); + drawfont = hud_font; + ++row; + if(row >= rows) + { + row = 0; + ++column; + } + } + else if(tm.team == myteam) { if (max_fragcount == score) - leader = 1; - if (leader) HUD_Panel_DrawHighlight(pos, eX * 0.75 * mySize_x + eY * mySize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); drawfont = hud_bigfont; drawstring_aspect(pos, ftos(score), eX * 0.75 * mySize_x + eY * mySize_y, GetTeamRGB(tm.team) * 0.8, panel_fg_alpha, DRAWFLAG_NORMAL); drawfont = hud_font; } else { if (max_fragcount == score) - leader = 1; - if (leader) - HUD_Panel_DrawHighlight(pos + eX * 0.75 * mySize_x + eY * (1/3) * teamnum * mySize_y, eX * 0.25 * mySize_x + eY * (1/3) * mySize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawstring_aspect(pos + eX * 0.75 * mySize_x + eY * (1/3) * teamnum * mySize_y, ftos(score), eX * 0.25 * mySize_x + eY * (1/3) * mySize_y, GetTeamRGB(tm.team) * 0.8, panel_fg_alpha, DRAWFLAG_NORMAL); - teamnum += 1; + HUD_Panel_DrawHighlight(pos + eX * 0.75 * mySize_x + eY * (1/3) * rows * mySize_y, score_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawstring_aspect(pos + eX * 0.75 * mySize_x + eY * (1/3) * rows * mySize_y, ftos(score), score_size, GetTeamRGB(tm.team) * 0.8, panel_fg_alpha, DRAWFLAG_NORMAL); + ++rows; } } } @@ -3685,8 +3620,12 @@ void HUD_Score(void) // Race timer (#8) // void HUD_RaceTimer (void) { - if(!autocvar_hud_panel_racetimer && !(gametype == GAME_RACE || gametype == GAME_CTS) && !autocvar__hud_configure) - return; + if(!autocvar__hud_configure) + { + if(!autocvar_hud_panel_racetimer) return; + if(!(gametype == GAME_RACE || gametype == GAME_CTS)) return; + if(spectatee_status == -1) return; + } active_panel = HUD_PANEL_RACETIMER; HUD_Panel_UpdateCvars(racetimer); @@ -4328,18 +4267,11 @@ void HUD_Mod_NexBall(vector pos, vector mySize) //Draw the filling vector barsize; float vertical; + HUD_Panel_GetProgressBarColor(nexball); if(mySize_x > mySize_y) - { - barsize = eX * p * mySize_x + eY * mySize_y; - vertical = 0; - } + HUD_Panel_DrawProgressBar(pos, mySize, p, 0, 0, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); else - { - barsize = eX * mySize_x + eY * p * mySize_y; - vertical = 1; - } - HUD_Panel_GetProgressBarColor(nexball); - HUD_Panel_DrawProgressBar(pos, vertical, barsize, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + HUD_Panel_DrawProgressBar(pos, mySize, p, 1, 0, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } if (stat_items & IT_KEY1) @@ -4592,14 +4524,15 @@ void HUD_DrawPressedKeys(void) vector keysize; keysize = eX * mySize_x * (1/3) + eY * mySize_y * 0.5; float pressedkeys; - pressedkeys = getstatf(STAT_PRESSED_KEYS); + drawpic_aspect_skin(pos, ((pressedkeys & KEY_CROUCH) ? "key_crouch_inv.tga" : "key_crouch.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawpic_aspect_skin(pos + eX * mySize_x * (1/3), ((pressedkeys & KEY_FORWARD) ? "key_forward_inv.tga" : "key_forward.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawpic_aspect_skin(pos + eX * mySize_x * (2/3), ((pressedkeys & KEY_JUMP) ? "key_jump_inv.tga" : "key_jump.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawpic_aspect_skin(pos + eY * 0.5 * mySize_y, ((pressedkeys & KEY_LEFT) ? "key_left_inv.tga" : "key_left.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawpic_aspect_skin(pos + eY * 0.5 * mySize_y + eX * mySize_x * (1/3), ((pressedkeys & KEY_BACKWARD) ? "key_backward_inv.tga" : "key_backward.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); - drawpic_aspect_skin(pos + eY * 0.5 * mySize_y + eX * mySize_x * (2/3), ((pressedkeys & KEY_RIGHT) ? "key_right_inv.tga" : "key_right.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawpic_aspect_skin(pos + eX * keysize_x, ((pressedkeys & KEY_FORWARD) ? "key_forward_inv.tga" : "key_forward.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawpic_aspect_skin(pos + eX * keysize_x * 2, ((pressedkeys & KEY_JUMP) ? "key_jump_inv.tga" : "key_jump.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + pos_y += keysize_y; + drawpic_aspect_skin(pos, ((pressedkeys & KEY_LEFT) ? "key_left_inv.tga" : "key_left.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawpic_aspect_skin(pos + eX * keysize_x, ((pressedkeys & KEY_BACKWARD) ? "key_backward_inv.tga" : "key_backward.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawpic_aspect_skin(pos + eX * keysize_x * 2, ((pressedkeys & KEY_RIGHT) ? "key_right_inv.tga" : "key_right.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); } // Handle chat as a panel (#12) @@ -4981,9 +4914,7 @@ float acc_avg; void HUD_ShowAcceleration(void) { float acceleration, sz, scale, alpha, f; - vector pos, top, rgb; - top_x = vid_conwidth/2; - top_y = 0; + vector pos, mySize, rgb; f = time - acc_prevtime; if(cvar("cl_showacceleration_z")) @@ -4999,8 +4930,6 @@ void HUD_ShowAcceleration(void) if (acceleration == 0) return; - pos = top - sz/2 * eY + (cvar("cl_showacceleration_position") * vid_conheight) * eY; - sz = cvar("cl_showacceleration_size"); scale = cvar("cl_showacceleration_scale"); alpha = cvar("cl_showacceleration_alpha"); @@ -5013,10 +4942,19 @@ void HUD_ShowAcceleration(void) rgb = '.5 1 .5' - '.5 0 .5' * bound(0, +acceleration * 0.2, 1); } + mySize_x = vid_conwidth/2; + mySize_y = sz; + pos_y = cvar("cl_showacceleration_position") * vid_conheight - sz/2; if (acceleration > 0) - HUD_Panel_DrawProgressBar(pos, 0, acceleration * scale * '40 0 0' + sz * eY, rgb, alpha * autocvar_hud_panel_fg_alpha * hud_fade_alpha, DRAWFLAG_NORMAL); + { + pos_x = mySize_x; + HUD_Panel_DrawProgressBar(pos, mySize, min(acceleration * scale, 1), 0, 0, rgb, alpha * autocvar_hud_panel_fg_alpha * hud_fade_alpha, DRAWFLAG_NORMAL); + } else - HUD_Panel_DrawProgressBar(pos + acceleration * scale * '40 0 0', 0, -acceleration * scale * '40 0 0' + sz * eY, rgb, alpha * autocvar_hud_panel_fg_alpha * hud_fade_alpha, DRAWFLAG_NORMAL); + { + //pos_x = 0; + HUD_Panel_DrawProgressBar(pos, mySize, min(-acceleration * scale, 1), 0, 1, rgb, alpha * autocvar_hud_panel_fg_alpha * hud_fade_alpha, DRAWFLAG_NORMAL); + } } void HUD_Reset (void) @@ -5079,8 +5017,6 @@ void HUD_Main (void) else if(autocvar__menu_alpha == 0 && scoreboard_fade_alpha == 0) hud_fade_alpha = 1; - hud_fontsize = HUD_GetFontsize("hud_fontsize"); - if(!autocvar__hud_configure && !hud_fade_alpha) return; @@ -5093,18 +5029,19 @@ void HUD_Main (void) } // HUD configure visible grid - if(autocvar__hud_configure && autocvar_hud_configure_grid && autocvar_hud_configure_grid_alpha) + float hud_configure_grid_alpha; + if(autocvar__hud_configure && cvar("hud_configure_grid") && (hud_configure_grid_alpha = cvar("hud_configure_grid_alpha"))) { + hud_configure_gridSize_x = bound(0.005, cvar("hud_configure_grid_xsize"), 0.2); + hud_configure_gridSize_y = bound(0.005, cvar("hud_configure_grid_ysize"), 0.2); + hud_configure_realGridSize_x = hud_configure_gridSize_x * vid_conwidth; + hud_configure_realGridSize_y = hud_configure_gridSize_y * vid_conheight; // x-axis - for(i = 0; i < 1/bound(0.005, autocvar_hud_configure_grid_xsize, 0.2); ++i) - { - drawfill(eX * i * vid_conwidth * bound(0.005, autocvar_hud_configure_grid_xsize, 0.2), eX + eY * vid_conheight, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL); - } + for(i = 0; i < 1/hud_configure_gridSize_x; ++i) + drawfill(eX * i * hud_configure_realGridSize_x, eX + eY * vid_conheight, '0.5 0.5 0.5', hud_configure_grid_alpha, DRAWFLAG_NORMAL); // y-axis - for(i = 0; i < 1/bound(0.005, autocvar_hud_configure_grid_ysize, 0.2); ++i) - { - drawfill(eY * i * vid_conheight * bound(0.005, autocvar_hud_configure_grid_ysize, 0.2), eY + eX * vid_conwidth, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL); - } + for(i = 0; i < 1/hud_configure_gridSize_y; ++i) + drawfill(eY * i * hud_configure_realGridSize_y, eY + eX * vid_conwidth, '0.5 0.5 0.5', hud_configure_grid_alpha, DRAWFLAG_NORMAL); } // draw the dock diff --git a/qcsrc/client/hud.qh b/qcsrc/client/hud.qh index bbb57d91f..95fefe9f7 100644 --- a/qcsrc/client/hud.qh +++ b/qcsrc/client/hud.qh @@ -39,6 +39,8 @@ float teamnagger; float hud_configure_checkcollisions; float hud_configure_prev; +vector hud_configure_gridSize; +vector hud_configure_realGridSize; float hudShiftState; const float S_SHIFT = 1; @@ -90,10 +92,10 @@ var string panel_bg_padding_str; progressbar_color = stov(cvar_string("hud_progressbar_" #item "_color")) #define HUD_Panel_GetProgressBarColorForString(item) \ switch(item) {\ - case "strength": HUD_Panel_GetProgressBarColor(strength); break;\ - case "shield": HUD_Panel_GetProgressBarColor(shield); break;\ case "health": HUD_Panel_GetProgressBarColor(health); break;\ case "armor": HUD_Panel_GetProgressBarColor(armor); break;\ + case "strength": HUD_Panel_GetProgressBarColor(strength); break;\ + case "shield": HUD_Panel_GetProgressBarColor(shield); break;\ case "fuel": HUD_Panel_GetProgressBarColor(fuel); break;\ case "nexball": HUD_Panel_GetProgressBarColor(nexball); break;\ } ENDS_WITH_CURLY_BRACE @@ -157,12 +159,13 @@ if(panel_bg_alpha_str == "") {\ panel_bg_alpha_str = ftos(autocvar_hud_panel_bg_alpha);\ }\ panel_bg_alpha = stof(panel_bg_alpha_str);\ -if(autocvar__hud_configure && menu_enabled == 2 && highlightedPanel == active_panel) {\ - panel_bg_alpha = (1 - autocvar__menu_alpha) * max(autocvar_hud_configure_bg_minalpha, panel_bg_alpha) + autocvar__menu_alpha * panel_bg_alpha;\ -} else if(autocvar__hud_configure) {\ - panel_bg_alpha = max(autocvar_hud_configure_bg_minalpha, panel_bg_alpha);\ -} if(autocvar__hud_configure && !panel_enabled) {\ - panel_bg_alpha = 0.25;\ +if(autocvar__hud_configure) {\ + if(!panel_enabled)\ + panel_bg_alpha = 0.25;\ + else if(menu_enabled == 2 && highlightedPanel == active_panel)\ + panel_bg_alpha = (1 - autocvar__menu_alpha) * max(cvar("hud_configure_bg_minalpha"), panel_bg_alpha) + autocvar__menu_alpha * panel_bg_alpha;\ + else\ + panel_bg_alpha = max(cvar("hud_configure_bg_minalpha"), panel_bg_alpha);\ } if(!(menu_enabled == 2 && highlightedPanel == active_panel)) {\ panel_bg_alpha *= hud_fade_alpha;\ } @@ -203,13 +206,15 @@ if(panel_bg_padding_str == "") {\ panel_bg_padding = min(min(panel_size_x, panel_size_y)/2 - 5, panel_bg_padding); // Point to the macros above (stupid max macro length) -#define HUD_Panel_StringVars()\ +#define HUD_Panel_GetStringVars()\ HUD_Panel_GetBg()\ -HUD_Panel_GetColorTeam()\ -HUD_Panel_GetColor()\ -HUD_Panel_GetBgAlpha()\ +if (panel_bg != "0") {\ + HUD_Panel_GetColorTeam()\ + HUD_Panel_GetColor()\ + HUD_Panel_GetBgAlpha()\ + HUD_Panel_GetBorder()\ +}\ HUD_Panel_GetFgAlpha()\ -HUD_Panel_GetBorder()\ HUD_Panel_GetScaledVectors()\ HUD_Panel_GetPadding() @@ -258,7 +263,7 @@ panel_bg_color_team_str = cvar_string("hud_panel_" #name "_bg_color_team"); \ panel_bg_alpha_str = cvar_string("hud_panel_" #name "_bg_alpha"); \ panel_bg_border_str = cvar_string("hud_panel_" #name "_bg_border"); \ panel_bg_padding_str = cvar_string("hud_panel_" #name "_bg_padding"); \ -HUD_Panel_StringVars()\ +HUD_Panel_GetStringVars()\ if(menu_enabled == 2 && active_panel == highlightedPanel) {\ HUD_Panel_GetMenuSize()\ HUD_Panel_GetMenuPos()\ diff --git a/qcsrc/client/miscfunctions.qc b/qcsrc/client/miscfunctions.qc index b37e209a5..adc72221e 100644 --- a/qcsrc/client/miscfunctions.qc +++ b/qcsrc/client/miscfunctions.qc @@ -461,23 +461,23 @@ void drawpic_tiled(vector pos, string pic, vector sz, vector area, vector color, // drawpic wrapper to draw an image as large as possible with preserved aspect ratio into a box var float _drawpic_imgaspect; -var float _drawpic_aspect; var vector _drawpic_imgsize; var vector _drawpic_sz; -var vector _drawpic_oldsz; +var float _drawpic_oldsz; var string _drawpic_picpath; #define drawpic_aspect(pos,pic,mySize,color,alpha,drawflag)\ do {\ _drawpic_imgsize = drawgetimagesize(pic);\ _drawpic_imgaspect = _drawpic_imgsize_x/_drawpic_imgsize_y;\ - _drawpic_oldsz = _drawpic_sz = mySize;\ - _drawpic_aspect = _drawpic_sz_x/_drawpic_sz_y;\ - if(_drawpic_aspect > _drawpic_imgaspect) {\ + _drawpic_sz = mySize;\ + if(_drawpic_sz_x/_drawpic_sz_y > _drawpic_imgaspect) {\ + _drawpic_oldsz = _drawpic_sz_x;\ _drawpic_sz_x = _drawpic_sz_y * _drawpic_imgaspect;\ - drawpic(pos + eX * (_drawpic_oldsz_x - _drawpic_sz_x) * 0.5, pic, _drawpic_sz, color, alpha, drawflag);\ + drawpic(pos + eX * (_drawpic_oldsz - _drawpic_sz_x) * 0.5, pic, _drawpic_sz, color, alpha, drawflag);\ } else {\ + _drawpic_oldsz = _drawpic_sz_y;\ _drawpic_sz_y = _drawpic_sz_x / _drawpic_imgaspect;\ - drawpic(pos + eY * (_drawpic_oldsz_y - _drawpic_sz_y) * 0.5, pic, _drawpic_sz, color, alpha, drawflag);\ + drawpic(pos + eY * (_drawpic_oldsz - _drawpic_sz_y) * 0.5, pic, _drawpic_sz, color, alpha, drawflag);\ }\ } while(0) @@ -519,45 +519,31 @@ void drawpic_aspect_skin_expanding_two(vector position, string pic, vector scale // drawstring wrapper to draw a string as large as possible with preserved aspect ratio into a box void drawstring_aspect(vector pos, string text, vector sz, vector color, float alpha, float drawflag) { - vector textsize; - textsize = eX * stringwidth(text, FALSE, '1 1 1' * sz_y) + eY * sz_y; - - float textaspect; - textaspect = textsize_x/textsize_y; - - vector oldsz; - oldsz = sz; - float aspect; - aspect = sz_x/sz_y; - - if(aspect > textaspect) { + float textaspect, oldsz; + textaspect = stringwidth(text, FALSE, '1 1 1' * sz_y) / sz_y; + if(sz_x/sz_y > textaspect) { + oldsz = sz_x; sz_x = sz_y * textaspect; - drawstring(pos + eX * (oldsz_x - sz_x) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag); + drawstring(pos + eX * (oldsz - sz_x) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag); } else { + oldsz = sz_y; sz_y = sz_x / textaspect; - drawstring(pos + eY * (oldsz_y - sz_y) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag); + drawstring(pos + eY * (oldsz - sz_y) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag); } } // drawstring wrapper to draw a colorcodedstring as large as possible with preserved aspect ratio into a box void drawcolorcodedstring_aspect(vector pos, string text, vector sz, float alpha, float drawflag) { - vector textsize; - textsize = eX * stringwidth(text, TRUE, '1 1 1' * sz_y) + eY * sz_y; - - float textaspect; - textaspect = textsize_x/textsize_y; - - vector oldsz; - oldsz = sz; - float aspect; - aspect = sz_x/sz_y; - - if(aspect > textaspect) { + float textaspect, oldsz; + textaspect = stringwidth(text, TRUE, '1 1 1' * sz_y) / sz_y; + if(sz_x/sz_y > textaspect) { + oldsz = sz_x; sz_x = sz_y * textaspect; - drawcolorcodedstring(pos + eX * (oldsz_x - sz_x) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag); + drawcolorcodedstring(pos + eX * (oldsz - sz_x) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag); } else { + oldsz = sz_y; sz_y = sz_x / textaspect; - drawcolorcodedstring(pos + eY * (oldsz_y - sz_y) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag); + drawcolorcodedstring(pos + eY * (oldsz - sz_y) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag); } } @@ -578,23 +564,16 @@ void drawstring_expanding(vector position, string text, vector scale, vector rgb // drawstring wrapper to draw a string as large as possible with preserved aspect ratio into a box void drawstring_aspect_expanding(vector pos, string text, vector sz, vector color, float alpha, float drawflag, float fadelerp) { - vector textsize; - textsize = eX * stringwidth(text, FALSE, '1 1 1' * sz_y) + eY * sz_y; - - float textaspect; - textaspect = textsize_x/textsize_y; - - vector oldsz; - oldsz = sz; - float aspect; - aspect = sz_x/sz_y; - - if(aspect > textaspect) { + float textaspect, oldsz; + textaspect = stringwidth(text, FALSE, '1 1 1' * sz_y) / sz_y; + if(sz_x/sz_y > textaspect) { + oldsz = sz_x; sz_x = sz_y * textaspect; - drawstring_expanding(pos + eX * (oldsz_x - sz_x) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag, fadelerp); + drawstring_expanding(pos + eX * (oldsz - sz_x) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag, fadelerp); } else { + oldsz = sz_y; sz_y = sz_x / textaspect; - drawstring_expanding(pos + eY * (oldsz_y - sz_y) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag, fadelerp); + drawstring_expanding(pos + eY * (oldsz - sz_y) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag, fadelerp); } } @@ -610,23 +589,16 @@ void drawcolorcodedstring_expanding(vector position, string text, vector scale, } void drawcolorcodedstring_aspect_expanding(vector pos, string text, vector sz, float alpha, float drawflag, float fadelerp) { - vector textsize; - textsize = eX * stringwidth(text, TRUE, '1 1 1' * sz_y) + eY * sz_y; - - float textaspect; - textaspect = textsize_x/textsize_y; - - vector oldsz; - oldsz = sz; - float aspect; - aspect = sz_x/sz_y; - - if(aspect > textaspect) { + float textaspect, oldsz; + textaspect = stringwidth(text, TRUE, '1 1 1' * sz_y) / sz_y; + if(sz_x/sz_y > textaspect) { + oldsz = sz_x; sz_x = sz_y * textaspect; - drawcolorcodedstring_expanding(pos + eX * (oldsz_x - sz_x) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag, fadelerp); + drawcolorcodedstring_expanding(pos + eX * (oldsz - sz_x) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag, fadelerp); } else { + oldsz = sz_y; sz_y = sz_x / textaspect; - drawcolorcodedstring_expanding(pos + eY * (oldsz_y - sz_y) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag, fadelerp); + drawcolorcodedstring_expanding(pos + eY * (oldsz - sz_y) * 0.5, text, '1 1 0' * sz_y, alpha, drawflag, fadelerp); } } diff --git a/qcsrc/client/scoreboard.qc b/qcsrc/client/scoreboard.qc index 5f4c64eee..1a99f87dd 100644 --- a/qcsrc/client/scoreboard.qc +++ b/qcsrc/client/scoreboard.qc @@ -883,7 +883,7 @@ float HUD_WouldDrawScoreboard() { return 1; else if (intermission == 1) return 1; - else if (getstati(STAT_HEALTH) <= 0 && cvar("cl_deathscoreboard")) + else if (spectatee_status != -1 && getstati(STAT_HEALTH) <= 0 && cvar("cl_deathscoreboard")) return 1; else if (scoreboard_showscores_force) return 1; diff --git a/qcsrc/client/teamradar.qc b/qcsrc/client/teamradar.qc index a486af68e..788c32d82 100644 --- a/qcsrc/client/teamradar.qc +++ b/qcsrc/client/teamradar.qc @@ -5,7 +5,6 @@ vector teamradar_size2d; // 2D size vector teamradar_extraclip_mins, teamradar_extraclip_maxs; // for non-centered radar display float teamradar_size; // 2D scale factor float hud_panel_radar_scale; // window size = ...qu -float hud_panel_radar_nohudhack; float v_flipped; float vlen2d(vector v) @@ -188,9 +187,6 @@ void teamradar_loadcvars() if(!hud_panel_radar_foreground_alpha) hud_panel_radar_foreground_alpha = 0.8 * panel_fg_alpha; if(!hud_panel_radar_size_x) hud_panel_radar_size_x = 128; if(!hud_panel_radar_size_y) hud_panel_radar_size_y = hud_panel_radar_size_x; - - hud_panel_radar_size_z = 0; - hud_panel_radar_nohudhack = 0; } // radar links diff --git a/qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c b/qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c index 3e8a43aeb..28e3f76e2 100644 --- a/qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c +++ b/qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c @@ -82,9 +82,9 @@ void XonoticHUDHealthArmorDialog_fill(entity me) setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1); me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "1", "Right")); setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "3", "Inward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "2", "Inward")); setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "4", "Outward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "3", "Outward")); setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1); me.TR(me); me.TD(me, 1, 2, e = makeXonoticTextLabel(0, "Icon alignment:")); @@ -92,8 +92,8 @@ void XonoticHUDHealthArmorDialog_fill(entity me) me.TDempty(me, 0.2); me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "0", "Left")); me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "1", "Right")); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "3", "Inward")); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "4", "Outward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "2", "Inward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "3", "Outward")); me.TR(me); me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_healtharmor_flip", "Flip health and armor positions")); } diff --git a/qcsrc/menu/xonotic/dialog_hudpanel_notification.c b/qcsrc/menu/xonotic/dialog_hudpanel_notification.c index 3eeaff284..b0752664f 100644 --- a/qcsrc/menu/xonotic/dialog_hudpanel_notification.c +++ b/qcsrc/menu/xonotic/dialog_hudpanel_notification.c @@ -18,7 +18,7 @@ void XonoticHUDNotificationDialog_fill(entity me) float i; me.TR(me); - me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_healtharmor", "Enable panel")); + me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_notify", "Enable panel")); me.TR(me); me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, "Background:")); me.TD(me, 1, 1.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg")))); diff --git a/qcsrc/menu/xonotic/dialog_hudpanel_powerups.c b/qcsrc/menu/xonotic/dialog_hudpanel_powerups.c index 5d4e14c08..906e396e5 100644 --- a/qcsrc/menu/xonotic/dialog_hudpanel_powerups.c +++ b/qcsrc/menu/xonotic/dialog_hudpanel_powerups.c @@ -82,9 +82,9 @@ void XonoticHUDPowerupsDialog_fill(entity me) setDependent(e, "hud_panel_powerups_progressbar", 1, 1); me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "1", "Right")); setDependent(e, "hud_panel_powerups_progressbar", 1, 1); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "3", "Inward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "2", "Inward")); setDependent(e, "hud_panel_powerups_progressbar", 1, 1); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "4", "Outward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "3", "Outward")); setDependent(e, "hud_panel_powerups_progressbar", 1, 1); me.TR(me); me.TD(me, 1, 2, e = makeXonoticTextLabel(0, "Icon alignment:")); @@ -92,8 +92,8 @@ void XonoticHUDPowerupsDialog_fill(entity me) me.TDempty(me, 0.2); me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "0", "Left")); me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "1", "Right")); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "3", "Inward")); - me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "4", "Outward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "2", "Inward")); + me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "3", "Outward")); me.TR(me); me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_powerups_flip", "Flip strength and shield positions")); } diff --git a/qcsrc/menu/xonotic/dialog_hudpanel_score.c b/qcsrc/menu/xonotic/dialog_hudpanel_score.c index fc51921e2..31ed31b25 100644 --- a/qcsrc/menu/xonotic/dialog_hudpanel_score.c +++ b/qcsrc/menu/xonotic/dialog_hudpanel_score.c @@ -71,5 +71,13 @@ void XonoticHUDScoreDialog_fill(entity me) for(i = 0; i <= 10; ++i) e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5))); e.configureXonoticTextSliderValues(e); + me.TR(me); + me.TD(me, 1, 2, e = makeXonoticTextLabel(0, "Score:")); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Rankings:")); + me.TD(me, 1, 2.6/3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "0", "Off")); + me.TD(me, 1, 2.6/3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "1", "And me")); + me.TD(me, 1, 2.6/3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "2", "Pure")); } #endif