From: terencehill Date: Sat, 25 Dec 2010 22:41:36 +0000 (+0100) Subject: Simplify powerups panel code too X-Git-Tag: xonotic-v0.5.0~335 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=bf761a595dc081007d0595df4b6656480d1fe47b;p=xonotic%2Fxonotic-data.pk3dir.git Simplify powerups panel code too --- diff --git a/qcsrc/client/hud.qc b/qcsrc/client/hud.qc index f64f38492..72c387b1b 100644 --- a/qcsrc/client/hud.qc +++ b/qcsrc/client/hud.qc @@ -1190,111 +1190,76 @@ void HUD_Powerups(void) mySize -= '2 2 0' * panel_bg_padding; } - vector barsize; - vector picpos; - vector numpos; - - string leftname, rightname; - string leftprogressname, rightprogressname; - float leftcnt, rightcnt; - float leftexact, rightexact; - if (autocvar_hud_panel_powerups_flip) { - leftname = "strength"; - leftprogressname = autocvar_hud_panel_powerups_progressbar_strength; - leftcnt = ceil(strength_time); - leftexact = strength_time; - - rightname = "shield"; - rightprogressname = autocvar_hud_panel_powerups_progressbar_shield; - rightcnt = ceil(shield_time); - rightexact = shield_time; - } else { - leftname = "shield"; - leftprogressname = autocvar_hud_panel_powerups_progressbar_shield; - leftcnt = ceil(shield_time); - leftexact = shield_time; - - rightname = "strength"; - rightprogressname = autocvar_hud_panel_powerups_progressbar_strength; - rightcnt = ceil(strength_time); - rightexact = strength_time; - } - - float baralign = autocvar_hud_panel_powerups_baralign; - float iconalign = autocvar_hud_panel_powerups_iconalign; - float panel_ar = mySize_x/mySize_y; float is_vertical = (panel_ar < 1); + vector shield_offset, strength_offset; if (panel_ar >= 4 || (panel_ar >= 1/4 && panel_ar < 1)) { - barsize = eX * 0.5 * mySize_x + eY * mySize_y; - if(leftcnt) + mySize_x *= 0.5; + if (autocvar_hud_panel_powerups_flip) + shield_offset_x = mySize_x; + else + strength_offset_x = mySize_x; + } + else + { + mySize_y *= 0.5; + if (autocvar_hud_panel_powerups_flip) + shield_offset_y = mySize_y; + else + strength_offset_y = mySize_y; + } + + float shield_baralign, strength_baralign; + float shield_iconalign, strength_iconalign; + if (autocvar_hud_panel_powerups_flip) + { + strength_baralign = (autocvar_hud_panel_powerups_baralign == 2 || autocvar_hud_panel_powerups_baralign == 1); + shield_baralign = (autocvar_hud_panel_powerups_baralign == 3 || autocvar_hud_panel_powerups_baralign == 1); + strength_iconalign = (autocvar_hud_panel_powerups_iconalign == 2 || autocvar_hud_panel_powerups_iconalign == 1); + shield_iconalign = (autocvar_hud_panel_powerups_iconalign == 3 || autocvar_hud_panel_powerups_iconalign == 1); + } + else + { + shield_baralign = (autocvar_hud_panel_powerups_baralign == 2 || autocvar_hud_panel_powerups_baralign == 1); + strength_baralign = (autocvar_hud_panel_powerups_baralign == 3 || autocvar_hud_panel_powerups_baralign == 1); + shield_iconalign = (autocvar_hud_panel_powerups_iconalign == 2 || autocvar_hud_panel_powerups_iconalign == 1); + strength_iconalign = (autocvar_hud_panel_powerups_iconalign == 3 || autocvar_hud_panel_powerups_iconalign == 1); + } + + if(shield_time) + { + const float maxshield = 30; + float shield = ceil(shield_time); + if(autocvar_hud_panel_powerups_progressbar) { - if(autocvar_hud_panel_powerups_progressbar) - { - HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(pos, barsize, leftprogressname, 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(autocvar_hud_panel_powerups_text) - { - if(leftcnt > 1) - DrawNumIcon(pos, barsize, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', 1); - if(leftcnt <= 5) - DrawNumIcon_expanding(pos, barsize, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', bound(0, (leftcnt - leftexact) / 0.5, 1)); - } + HUD_Panel_GetProgressBarColor(shield); + HUD_Panel_DrawProgressBar(pos + shield_offset, mySize, autocvar_hud_panel_powerups_progressbar_shield, shield/maxshield, is_vertical, shield_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } - - if(rightcnt) + if(autocvar_hud_panel_powerups_text) { - pos_x += barsize_x; - if(autocvar_hud_panel_powerups_progressbar) - { - HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(pos, barsize, rightprogressname, 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(autocvar_hud_panel_powerups_text) - { - if(rightcnt > 1) - DrawNumIcon(pos, barsize, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), '1 1 1', 1); - if(rightcnt <= 5) - DrawNumIcon_expanding(pos, 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)); - } + if(shield > 1) + DrawNumIcon(pos + shield_offset, mySize, shield, "shield", is_vertical, shield_iconalign, '1 1 1', 1); + if(shield <= 5) + DrawNumIcon_expanding(pos + shield_offset, mySize, shield, "shield", is_vertical, shield_iconalign, '1 1 1', bound(0, (shield - shield_time) / 0.5, 1)); } } - else + + if(strength_time) { - barsize = eX * mySize_x + eY * 0.5 * mySize_y; - if(leftcnt) + const float maxstrength = 30; + float strength = ceil(strength_time); + if(autocvar_hud_panel_powerups_progressbar) { - if(autocvar_hud_panel_powerups_progressbar) - { - HUD_Panel_GetProgressBarColorForString(leftname); - HUD_Panel_DrawProgressBar(pos, barsize, leftprogressname, 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(autocvar_hud_panel_powerups_text) - { - if(leftcnt > 1) - DrawNumIcon(pos, barsize, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', 1); - if(leftcnt <= 5) - DrawNumIcon_expanding(pos, barsize, leftcnt, leftname, is_vertical, (iconalign == 1 || iconalign == 2), '1 1 1', bound(0, (leftcnt - leftexact) / 0.5, 1)); - } + HUD_Panel_GetProgressBarColor(strength); + HUD_Panel_DrawProgressBar(pos + strength_offset, mySize, autocvar_hud_panel_powerups_progressbar_strength, strength/maxstrength, is_vertical, strength_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } - - if(rightcnt) + if(autocvar_hud_panel_powerups_text) { - pos_y += barsize_y; - if(autocvar_hud_panel_powerups_progressbar) - { - HUD_Panel_GetProgressBarColorForString(rightname); - HUD_Panel_DrawProgressBar(pos, barsize, rightprogressname, 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(autocvar_hud_panel_powerups_text) - { - if(rightcnt > 1) - DrawNumIcon(pos, barsize, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), '1 1 1', 1); - if(rightcnt <= 5) - DrawNumIcon_expanding(pos, barsize, rightcnt, rightname, is_vertical, (iconalign == 1 || iconalign == 3), '1 1 1', bound(0, (rightcnt - rightexact) / 0.5, 1)); - } + if(strength > 1) + DrawNumIcon(pos + strength_offset, mySize, strength, "strength", is_vertical, strength_iconalign, '1 1 1', 1); + if(strength <= 5) + DrawNumIcon_expanding(pos + strength_offset, mySize, strength, "strength", is_vertical, strength_iconalign, '1 1 1', bound(0, (strength - strength_time) / 0.5, 1)); } } }