From c7d96bb2c2c44b4beb310880d2f5c02602aa6ce5 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Sun, 3 Oct 2010 19:15:37 +0300 Subject: [PATCH] b0rken nex speed indicator --- gfx/nex_ring.tga | Bin 0 -> 6244 bytes qcsrc/client/View.qc | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 gfx/nex_ring.tga diff --git a/gfx/nex_ring.tga b/gfx/nex_ring.tga new file mode 100644 index 0000000000000000000000000000000000000000..c082c62432f4a82e38146b652d11a8ee1526b79a GIT binary patch literal 6244 zcmc(j&ue2<6vxvdLELmTT@(tEMK;9-O8$W^CeR=jsunl1NS9f(e?ejDkIYPGCgV7c ziZY$)I6i393{qW)3u#=45eY_&SSwuBsM?BJg+MMxGhNH@E3oN{VtA+cjV=52A_^RaNS zt!rp(PV4wzgk*1_u`9_S)YOe(MqE32^MBVfDwmbzw7RthHBFQj;Z)1 z8e2?7Ic-9fHvV;YVvn1b&{(<+{AW2}>yfkDkd4kM^SkEG9BWemXE^y48gowKAdrpe z4x3-uojJ=j18mKHO-DPD6DMfUcxz~^$YJ3dcUX|FV%$~sKzLb(!nY0=q+2%biorz}J1 z2Zu}2m5saPa9)PsM~4IH^2P~nT>zr1oiqn#%nQ~q86o2&|iqh4L zd(C^8kzwOEhc~2~F-~w8c~bDC;F@u-dgPo8!S5b9kS=GO;BZzlf-{1v#=YW^(=x37 z;gMIROB*M+BtuqkR=Uzjc)Nsnw#L`_BC^ZAF5R}lFMAr@i^Ih;EqGdy^Tr8YQIxGe zJ@S@xD<|PS8I}YuNw;V4lBW^Q^O)cB=YJrVNXM7o}?&Jis&% zX+%9{#dfEe>ve>bqq7RJ^S9@)V>+U<$I&p|KxiPe`)DN(znY>Jg%*X@jz?_^%?iy5 zZ4+h0lvLag4I0V}`5-?~h!oMhP8r6*4N_E|G8=hlC6XX%l&%)1;83bPtFe>U2QJ zfOLlukq8|{NH@ZuBTQX{3lQNlMpz6HmQ;j=8F88W-5XA0&zr~5a3UUgONOI;{~| zUq!CRQf7Osg}?u~haC;fR#0?MzGq`Ez{m}AP3dM3cUdV-u7t- z-^{&A#%m5Tm;Wk4TgjRc*(J-E&D&_~(ZbRdHQloIeMUS@;oQpZXAma^VLI~=#;rg& zb{1WCA#Df?`TVhp#AE7cBSV%x^kodj>K65x8hiMbZ=bm{fH}&k<@x;IC CJ6B); literal 0 HcmV?d00001 diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 0b7dcac79..04f300703 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -697,6 +697,47 @@ void CSQC_UpdateView(float w, float h) if(cvar("viewsize") < 120) CSQC_common_hud(); + + // ring around crosshair representing velocity-dependent damage for the nex + if (activeweapon == WEP_NEX) + { + float x, y; + vector ringorigin, ringsize, t; + ringorigin = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight; + ringsize = 64 * '1 1 0'; // testing only + + // TODO send from server + float maxvel, minvel, curvel; + minvel = 400; + maxvel = 1000; + curvel = vlen(pmove_vel); + + f = bound(0, (curvel - minvel) / (maxvel - minvel), 1); + x = cos(f * M_2_PI); + y = sin(f * M_2_PI); + f = fabs(x) + fabs(y); + x /= f; + y /= f; + print("x:", ftos(x), " y:", ftos(y), "\n"); + if(x >= 0 && y >= 0) // first quadrant + { + R_BeginPolygon("gfx/nex_ring.tga", DRAWFLAG_ADDITIVE); + + v = ringorigin; t = '0.5 0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + + v = ringorigin; t = '0.5 0.5 0'; + v_x += 0.5 * ringsize_x; t += '0.5 0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + + v = ringorigin; t = '0.5 0.5 0'; + v_x += x * 0.5 * ringsize_x; t += x * '0.5 0.5 0'; + v_y += y * 0.5 * ringsize_y; t += y * '0.5 -0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + R_EndPolygon(); + } + } + // crosshair goes VERY LAST if(!scoreboard_active && !camera_active && intermission != 2) { // TrueAim check -- 2.39.2