[nexuiz-commits] r8125 - trunk/data/qcsrc/client
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Oct 14 03:03:36 EDT 2009
Author: div0
Date: 2009-10-14 03:03:36 -0400 (Wed, 14 Oct 2009)
New Revision: 8125
Modified:
trunk/data/qcsrc/client/View.qc
Log:
fix crosshair scaling fps dependency
Modified: trunk/data/qcsrc/client/View.qc
===================================================================
--- trunk/data/qcsrc/client/View.qc 2009-10-14 06:55:18 UTC (rev 8124)
+++ trunk/data/qcsrc/client/View.qc 2009-10-14 07:03:36 UTC (rev 8125)
@@ -208,7 +208,7 @@
float zoomscript_caught;
vector wcross_origin;
-float wcross_sizefloat, wcross_alpha;
+float wcross_sizefloat_prev, wcross_alpha_prev;
entity trueaim;
entity trueaim_rifle;
@@ -618,13 +618,13 @@
if (wcross_style != "0") {
vector wcross_color, wcross_size;
string wcross_wep, wcross_name;
- float wcross_alpha_initial, wcross_alpha_old, wcross_sizefloat_initial;
+ float wcross_alpha, wcross_sizefloat;
wcross_color_x = cvar("crosshair_color_red");
wcross_color_y = cvar("crosshair_color_green");
wcross_color_z = cvar("crosshair_color_blue");
- wcross_alpha_initial = cvar("crosshair_color_alpha") * (1-cvar("_menu_alpha"));
- wcross_sizefloat_initial = cvar("crosshair_size") * (1-cvar("_menu_alpha"));
+ wcross_alpha = cvar("crosshair_color_alpha");
+ wcross_sizefloat = cvar("crosshair_size");
if (cvar("crosshair_per_weapon")) {
e = get_weaponinfo(activeweapon);
if (e && e.netname != "")
@@ -649,19 +649,30 @@
wcross_name = strcat("gfx/crosshair", wcross_style);
if(shottype == SHOTTYPE_HITENEMY)
- wcross_sizefloat_initial *= cvar("crosshair_hittest"); // is not queried if hittest is 0
+ wcross_sizefloat *= cvar("crosshair_hittest"); // is not queried if hittest is 0
if(shottype == SHOTTYPE_HITTEAM)
- wcross_sizefloat_initial /= cvar("crosshair_hittest"); // is not queried if hittest is 0
+ wcross_sizefloat /= cvar("crosshair_hittest"); // is not queried if hittest is 0
- if(cvar("crosshair_effect_speed") <= 0 || 1-cvar("_menu_alpha") != 1)
- wcross_sizefloat = wcross_sizefloat_initial;
- else if(wcross_sizefloat < (wcross_sizefloat_initial - cvar("crosshair_effect_speed")))
- wcross_sizefloat += cvar("crosshair_effect_speed");
- else if(wcross_sizefloat > (wcross_sizefloat_initial + cvar("crosshair_effect_speed")))
- wcross_sizefloat -= cvar("crosshair_effect_speed");
- else
- wcross_sizefloat = wcross_sizefloat_initial;
+ f = cvar("crosshair_effect_speed");
+ if(f <= 0)
+ {
+ f *= frametime;
+ wcross_sizefloat = bound(wcross_sizefloat_old - f, wcross_sizefloat, wcross_sizefloat_old + f);
+ }
+ f = cvar("crosshair_effect_speed") * 1.5; // no idea why taoki wants alpha to fade faster, but here we go
+ if(f <= 0)
+ {
+ f *= frametime;
+ wcross_alpha = bound(wcross_alpha_old - f, wcross_alpha, wcross_alpha_old + f);
+ }
+
+ wcross_size_prev = wcross_sizefloat;
+ wcross_alpha_prev = wcross_alpha;
+
+ wcross_sizefloat *= 1 - cvar("_menu_alpha");
+ wcross_alpha *= 1 - cvar("_menu_alpha");
+
wcross_size = drawgetimagesize(wcross_name);
wcross_size_x *= wcross_sizefloat;
wcross_size_y *= wcross_sizefloat;
@@ -677,8 +688,7 @@
if(shottype == SHOTTYPE_HITTEAM || (shottype == SHOTTYPE_HITOBSTRUCTION && cvar("crosshair_hittest_blur") && !cvar("chase_active")))
{
- wcross_alpha_old = wcross_alpha;
- wcross_alpha = wcross_alpha_initial * 0.04 * 0.75;
+ wcross_alpha = wcross_alpha * 0.04 * 0.75;
for(i = -2; i <= 2; ++i)
for(j = -2; j <= 2; ++j)
{
@@ -686,24 +696,20 @@
drawpic(wcross_origin - '0.5 0 0' * (wcross_size_x * ring_scale + i) - '0 0.5 0' * (wcross_size_y * ring_scale + j), strcat("gfx/hud/rifle_ring_", ftos(bullets)), wcross_size * ring_scale, wcross_color, wcross_alpha, DRAWFLAG_NORMAL);
drawpic(wcross_origin - '0.5 0 0' * (wcross_size_x + i) - '0 0.5 0' * (wcross_size_y + j), wcross_name, wcross_size, wcross_color, wcross_alpha, DRAWFLAG_NORMAL);
}
- wcross_alpha = wcross_alpha_old;
}
else
{
- if(cvar("crosshair_effect_speed") <= 0 || 1-cvar("_menu_alpha") != 1)
- wcross_alpha = wcross_alpha_initial;
- else if(wcross_alpha < (wcross_alpha_initial - cvar("crosshair_effect_speed") * 1.5))
- wcross_alpha += cvar("crosshair_effect_speed") * 1.5;
- else if(wcross_alpha > (wcross_alpha_initial + cvar("crosshair_effect_speed") * 1.5))
- wcross_alpha -= cvar("crosshair_effect_speed") * 1.5;
- else
- wcross_alpha = wcross_alpha_initial;
if (bullets)
drawpic(wcross_origin - '0.5 0 0' * (wcross_size_x * ring_scale) - '0 0.5 0' * (wcross_size_y * ring_scale), strcat("gfx/hud/rifle_ring_", ftos(bullets)), wcross_size * ring_scale, wcross_color, wcross_alpha, DRAWFLAG_NORMAL);
drawpic(wcross_origin - '0.5 0 0' * (wcross_size_x) - '0 0.5 0' * ( wcross_size_y), wcross_name, wcross_size, wcross_color, wcross_alpha, DRAWFLAG_NORMAL);
}
}
}
+ else
+ {
+ wcross_sizefloat_prev = 0;
+ wcross_alpha_prev = 0;
+ }
}
if(NextFrameCommand)
More information about the nexuiz-commits
mailing list