X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2FView.qc;h=89681c32a6d2febb42a2e2490565eb7d63545489;hb=a69eeebfc4fe8c4fb1c9dc375d5a6b1aa5cf7dbd;hp=1a8174425248483bdc21d2ec5ecf40bd3be2afb6;hpb=420ea402654a79595838c48eddea825dac892016;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 1a8174425..89681c32a 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -824,17 +824,28 @@ void CSQC_UpdateView(float w, float h) wcross_scale *= 1 - cvar("_menu_alpha"); wcross_alpha *= 1 - cvar("_menu_alpha"); + ring_scale = cvar("crosshair_ring_size"); + + float f, a; + wcross_size = drawgetimagesize(wcross_name) * wcross_scale; // ring around crosshair representing bullets left in camping rifle clip - if (activeweapon == WEP_CAMPINGRIFLE) + if (activeweapon == WEP_CAMPINGRIFLE && cr_maxbullets) { - ring_scale = cvar("crosshair_campingrifle_ring_size"); - bullets = bound(0, getstati(STAT_BULLETS_LOADED), 4); + bullets = getstati(STAT_BULLETS_LOADED); + a = cvar("crosshair_campingrifle_bulletcounter_alpha"); + f = bound(0, bullets / cr_maxbullets, 1); + + DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, "gfx/crosshair_ring.tga", f, wcross_color, wcross_alpha * a, DRAWFLAG_ADDITIVE); } - else - bullets = 0; + else if (activeweapon == WEP_NEX) // ring around crosshair representing velocity-dependent damage for the nex + { + float curvel; + a = cvar("crosshair_nexvelocity_alpha"); + curvel = vlen('1 0 0' * pmove_vel_x + '0 1 0' * pmove_vel_y); + f = bound(0, (curvel - nex_minvelocity) / (nex_maxvelocity - nex_minvelocity), 1); -#define CROSSHAIR_DRAW_RING(i,j,sz,wcross_name,wcross_alpha) \ - drawpic(wcross_origin - ('0.5 0 0' * (sz * wcross_size_x * ring_scale + i * wcross_blur) + '0 0.5 0' * (sz * wcross_size_y * ring_scale + j * wcross_blur)), strcat("gfx/rifle_ring_", ftos(bullets)), sz * wcross_size * ring_scale, wcross_color, wcross_alpha, DRAWFLAG_NORMAL) + DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, "gfx/crosshair_ring.tga", f, wcross_color, wcross_alpha * a, DRAWFLAG_ADDITIVE); + } #define CROSSHAIR_DO_BLUR(M,sz,wcross_name,wcross_alpha) \ do \ @@ -871,10 +882,6 @@ void CSQC_UpdateView(float w, float h) } wcross_size = drawgetimagesize(wcross_name) * wcross_scale; - if(bullets) - { - CROSSHAIR_DO_BLUR(CROSSHAIR_DRAW_RING, wcross_resolution, wcross_name, wcross_alpha); - } CROSSHAIR_DRAW(wcross_resolution, wcross_name, wcross_alpha * f); wcross_name_alpha_goal_prev = f; }