From da9c2bcfe97e497c91c5b66a96a432f557012962 Mon Sep 17 00:00:00 2001 From: div0 Date: Sat, 7 Feb 2009 09:59:05 +0000 Subject: [PATCH] better graphics for strength and invisible timer; now also indicates 5s or less git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5793 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/gfx/sb_invinc.tga | Bin 6578 -> 4722 bytes data/gfx/sb_str.tga | Bin 6354 -> 3237 bytes data/qcsrc/client/miscfunctions.qc | 47 ++++++++++++++++++++++ data/qcsrc/client/sbar.qc | 61 ++++++++++++++++++----------- 4 files changed, 85 insertions(+), 23 deletions(-) diff --git a/data/gfx/sb_invinc.tga b/data/gfx/sb_invinc.tga index b0f68a029d6b8d83b0b73c24d083b43a34652a2d..bd50e1e38046b6d207c9b22f665bc08498bb13c7 100644 GIT binary patch literal 4722 zcmaJ_YfzNu6~<+`30?pZ?-;KUzM7b;rf(B5*fG9*3K?3M1C=ga)xyelgK}12k zM58lFn(2?W6FbvMCX;EV6Ky-4PSZ@AT7P8Pv}xK=Gi{ANJC&YbZhnfaH9$wO%YWb=>iQj$76SG(;7&Kt=6DNX zVPRnSo!ryL7qgq28$v=tP*u@{p|%IO)GB^5z}e$+b)oHRIBIVxIspLzx|#3i8Xu{t zaJT1(ohv&mi-B3u-oQrFQ#k2>Tga^cA~8S=7Xml?0gELSw5Fk{*NchQqD6~vsJI$; z27%!!pd=PZT>@;G1H|}1k9ajyP%i)`=u+oHoH{;;h=>Tp1fM{WtnZh776rLmp3f8pgMPHfR z%#}b<6i|_9WM|LIl1#}rGsHETZXa48t@A<*gx(gEk5#r~#flZ+`3n{-Kv}6BH#?xz z;d+B8n>>KrV8Nsbs5){Q-rnB2!=EY1$*4uUFo?!jLv-e7Dlk+nfk-i46iW2B{2IN@ zA4}jr$8gINT$Jy}gbw{j09zce)prIjXET*MRsd%ug_pX&lDbQWmzNg^Ve!E#-01}l zZ2`z_1;RCbIq(*tN!+D037}&k8zRwW|3Z0pMU0I}Ty&tUv_|W6<;s;>yNrfHuz2xe zt>eVRL{yeLFx2rGu8{@V2H&T6>Pdkp-)5M!SDwMLWy@4qtX3M$Imi)U@Z z%G_>U;h`*&0%uW0MMWt!R;^m4q++q1;R1Kciod_V67`JZr??`n*X6v>D5l3xjsti52Pn9KmVchdGLlB6`x zD5kN#Pp~`jwjx8sh}5(pSE~1s1GnJVW7J+7Hz{MNn^cv7uAiWxt`nE~eut~VOM*z? z6joOPyv-ljzF@|;?yNxWzb?hp>3ARE;o&Ov1XTkJqQjZi65Nm#SL=WlXNXIGjHIV|3O29YtC1X^{~jD%|V&AHbgeeXVCj zACu~?v9};AD+`-8ZNg*|)s%YiRQC7H;fbiuGH+X zFHw+u58kFYUhQ|8Sog0MdVs7wL!MGoTp z3@%LOGwr2ks4EaoP$p-ONjCZfabnCU@?(JcUQy^M6?=ukt}YQ1$qL{_ImqOLsz*noyx-$w6at=nm{oep8#euJGn~vODRvOtBl0 znNo|r8SU7U-htfB-)WmBJ_O*hP-cI@YsUPi=DgYdPS;&VvoM94$E7^3L8|Ax<2kzO ze~;>-_fcs51c?h@xa7eM*oEJxj{FR^f)V8H>_kplyBK^rJr|gqa%OY=RmE1PoF3MU ziOuYilo$_D|J|4^jujjr_H8tzCCvO{NYIYNage{V|JP&~pmHXdPCxgtr!QZ=95aj& z&Wl1mDv%m8(=0_gXPwdZ$Q#vC9a{<0ByZ>ze>FNTnKV`}`OPcUj;nQSM8qk2RE#jS zM$R(Dz|JHm-YEYZ*F~nzR|-|ce;%(ZOk7KexF9*vsoQi`I__S{_0%|Esz?ORwf;&+ z%>QdHOUxb0`H?nT^2yIP5E(Idbo?>Q<%a_qsWxrRPA1*N=A66jBb~I3HN0oI)+rS( z^YsjK6fZ(ZaW+Zuj+$`nUSpEP9 zwmmY+Q`ZpY@dgo*)Lk>odDGm0-N+bw4C|*p$C#&guQzDJv@<(XUD}6vBBX4)EFJD7 zLAZ*mxstz=JeMVy;NZ}iMmaUr9Qp+YYb421oWpH@LsP>jS{rZRT+1KO-|!ffuYQVG zHvVIp;66N@?hRJR$krtHI>KrSLyrg=nc7(dyeXpA)AW(d2uXV5HVv$q;|i6XBLqhx zUOOp0e*DB?At5#kd6CbiikOjDWhBi`yo$AJ*Q$oZM8~P3AGRGuXYB)=vX3AxE>8E8 z3t9|X>;W_sx5a`E`!|}=!M5Mx5HWFY}#T{6xXzrP?a=`K!J z{22qyU!uF|Lo}WolX57Ald7%C#U@8ln>MjO7upB7_mNLBKDv-`-iY4iF^x@R0LEa zDDtd@vIGf4h)U#UWR?8A*$dQW8nf0^IeRmE>|5;b?Bu-HyeecnTmJ;*`R^e*q!eL6 z^@#NSqjFYN$(8$gD|1e?heP$WsU?grK7K2D9QXBs#HbwDxW{P8EC3pt6m=fMxHE!) z;%H+wrP@#q=@_w@bdZk{&J@c~DPg2pcd3A@S$#AzhY)dg;cZ6I!7{Wqyekh79_r(a z38^iLU1hSNvUG#WIaR5iyrP^_gBzr-Suhjb(o2qA(&>{yDSi6cExbr!cXxNq&Bl$= z-!gaNSaqZ7B5(LdgaWrjVOwvDW%oPs>4tn76B%oFyel{R`*ma_3H645h=;l{0zPmd zo_zGfVZ5xY3{Jb<4ztZ>)5jj1?l}3-1$}NJd-X4OPo8yO#@>wVtkC?lj9u0+m;V9R CK#&Ch literal 6578 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 literal 6354 zcmd6rYe0inggGB4MaWw1%t~T-IqbG(<%3My<$xSWJ>-3$ye? zwIW`|Wof-_q1gR{h?qrYGDsqQkaF3EvbIvQG1F(C|FCE9of-AK(PdwFI5Y2i&hPxs z<$cccyc&(OMqELfFipT0M5Or$mdwnEkHCE&t;yG~Uw<+(GGh84XmWq^=FO9>TenhZ zXed2@{v4WoKI1&)H#Id8?+Aa6w*Cx!1(1Y^SsZ%V4%2eu! z;`;6?+t}`{yyoU+g%;>pyLK(zxpRlnv`dm7H9S15=XE!7{Zz>|wpv`@zI{6q7Z*oC zK|$p2@2}7m9UV=~A7i%6nDw2VoyOg}cN?!>#ZuF6Y-;zQc5ZHNUr$fZ$g5Yc=>+E4W3!!ymHunF{ysJx+b?`6^!WJr(8GtoQXtz( z9P!LhTwH8nL_|c;ty{Oy_K;*-!4ReH<;#~-0RaIDO&BX*n14}kr4qga>tArBrrAa{3n zg{J)ceDHo}v(>-c|I%~k&RH4G&d$`>*a$|U3Wi`0?cKZA%EJ5a<>f_>9z6n2b|1OU z&(9m<2%g+wb4MPnZv(LzLOs*bttS>{#c|p9d>Pg5|?;E3I3%&W;fr986}j zd6F4g369X@`}FBk!g(gfg)%EEixJc%!9gry7dL|8;^IR0?%e|i@u28WrW{O2NKok6 zxN#%Bc=2MMIo=X1hwnTzojrS&n-gAs86Bcd_0gk86?(wJI`XBLV72Dv=GwIfBO@aN zjLQ-Xp#|l4-QC@Gyu7?Tu>O!>RUSKb%&tB3AhzW^V1^kU5*+wEtnFd;`BS-A?fXBHgSEX{c zZ`knuJ38Bz^+8}%S66d0`iX7nn(X5LbsUfXbLrA0LhOoM%J%$PIyU@{ii)C>Cr{Fi z8#n0jMmj+gCMwjScRkdP3{%*?dpshc)!a;OJ; z=;qCvEQR9Pc5=RCC@U+Y$jHc5*GE>1+Ilwm*-q9~%`w~f(9n=&EGa1|C}a6D@J zlBuuP!;LBS5cU#c5okmH-^b^~0^;WK@^VT_N+QI0wy~#7Uov&JY}vwH5`2f)(~e4C zevTNvimji|2lMgc$3M!Pd3s_iTP{aBmb({eG#V9gz8E{=iP+d!%Nip-7WY>xG3Pls zImEd?#30{Zu5U;8b?l$!ahBTlgIuJquMfGug^m4r@Zdq(wr!gtC&W7!78XXxoiALt zK$DY`$XO6@s@0-dTwH|N<#m%Z1Unwn}iKhRWDQ^ROGzmHfegbndFe0C(8n)quaU0APK_){?_qC}n!f6UjX z{LXtAXRFX4O6|1}f4>@*ORw4KMgbf 0) { //show countdown once we received the valid stats-value - Sbar_DrawXNum(number_position, ceil(strength_time), 2, countdown_fontsize, '1 1 1', 1, DRAWFLAG_NORMAL); + strength_time = getstatf(STAT_STRENGTH_FINISHED); + invincibility_time = getstatf(STAT_INVINCIBLE_FINISHED); + + if (strength_time) { + dt = strength_time - time; + if(dt > 0) + { + if(dt < 5) + { + drawpic_expanding_two(pos, "gfx/sb_str", picsize, '1 1 1', sbar_alpha_fg, DRAWFLAG_ADDITIVE, + bound(0, (ceil(dt) - dt) / 0.5, 1)); + } + else + { + drawpic(pos, "gfx/sb_str", picsize, '1 1 1', sbar_alpha_fg, DRAWFLAG_ADDITIVE); + } + Sbar_DrawXNum(number_position, ceil(dt), 2, countdown_fontsize, '1 1 1', 1, DRAWFLAG_NORMAL); } - - //add some margin to the invincibility icon - pos_y += picsize_y + 10; - number_position_y += picsize_y + 10; } + //add some margin to the invincibility icon + pos_y += picsize_y + 10; + number_position_y += picsize_y + 10; + //invincibility - if (stat_items & IT_INVINCIBLE) { - drawpic(pos, "gfx/sb_invinc", picsize, '0.976 0 0.165'/*invincibility color*/, sbar_alpha_fg, DRAWFLAG_NORMAL); - invincibility_time = getstatf(STAT_INVINCIBLE_FINISHED) - time; - if (invincibility_time > 0) { //show countdown once we received the valid stats-value - Sbar_DrawXNum(number_position, ceil(invincibility_time), 2, countdown_fontsize, '1 1 1', 1, DRAWFLAG_NORMAL); + if (invincibility_time) { + dt = invincibility_time - time; + if(dt > 0) + { + if(dt < 5) + { + drawpic_expanding_two(pos, "gfx/sb_invinc", picsize, '1 1 1', sbar_alpha_fg, DRAWFLAG_ADDITIVE, + bound(0, (ceil(dt) - dt) / 0.5, 1)); + } + else + { + drawpic(pos, "gfx/sb_invinc", picsize, '1 1 1', sbar_alpha_fg, DRAWFLAG_ADDITIVE); + } + Sbar_DrawXNum(number_position, ceil(dt), 2, countdown_fontsize, '1 1 1', 1, DRAWFLAG_NORMAL); } } } -- 2.39.2