[nexuiz-commits] r8133 - in trunk/data: . qcsrc/client qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Thu Oct 15 01:34:38 EDT 2009
Author: div0
Date: 2009-10-15 01:34:38 -0400 (Thu, 15 Oct 2009)
New Revision: 8133
Modified:
trunk/data/balanceNexrun.cfg
trunk/data/defaultNexuiz.cfg
trunk/data/qcsrc/client/Main.qc
trunk/data/qcsrc/client/View.qc
trunk/data/qcsrc/client/main.qh
trunk/data/qcsrc/server/cl_client.qc
trunk/data/qcsrc/server/constants.qh
Log:
sync crosshair effects to weapon switch delay
Modified: trunk/data/balanceNexrun.cfg
===================================================================
--- trunk/data/balanceNexrun.cfg 2009-10-15 05:17:43 UTC (rev 8132)
+++ trunk/data/balanceNexrun.cfg 2009-10-15 05:34:38 UTC (rev 8133)
@@ -3,7 +3,7 @@
//
// And... don't forget to edit the other balance*.cfg too.
-set cvar_check_balance 1e423b95c67bac7998289473abe8feb1
+set cvar_check_balance 7f0cddd65617fa39bd3efb7942dceea9
// {{{ weapon replacement
// NOTE: this only replaces weapons on the map
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2009-10-15 05:17:43 UTC (rev 8132)
+++ trunk/data/defaultNexuiz.cfg 2009-10-15 05:34:38 UTC (rev 8133)
@@ -113,7 +113,7 @@
crosshair 1
seta crosshair_per_weapon 0 "when 1, each gun will display a different crosshair"
seta crosshair_color_override 0 "when 1, crosshair_color_* overrides the per-weapon color"
-seta crosshair_effect_speed 0 "how fast some crosshair effects should take place, 0 = instant, try values like 5"
+seta crosshair_effect_speed -1 "how fast (in seconds) some crosshair effects should take place, 0 = instant, -1 = 2x weapon switch time"
seta crosshair_hittest 1 "do a crosshair hit evaluation; also, the crosshair is scaled by the given number when aiming at an enemy, and blurred when aiming at a team mate"
seta crosshair_hittest_blur 1 "blur the crosshair if the shot is obstructed"
seta crosshair_hittest_showimpact 0 "move the crosshair to the actual impact location if obstructed"
Modified: trunk/data/qcsrc/client/Main.qc
===================================================================
--- trunk/data/qcsrc/client/Main.qc 2009-10-15 05:17:43 UTC (rev 8132)
+++ trunk/data/qcsrc/client/Main.qc 2009-10-15 05:34:38 UTC (rev 8133)
@@ -938,6 +938,8 @@
armorblockpercent = ReadByte() / 255.0;
+ g_weaponswitchdelay = ReadByte() / 255.0;
+
if(!postinit)
PostInit();
}
Modified: trunk/data/qcsrc/client/View.qc
===================================================================
--- trunk/data/qcsrc/client/View.qc 2009-10-15 05:17:43 UTC (rev 8132)
+++ trunk/data/qcsrc/client/View.qc 2009-10-15 05:34:38 UTC (rev 8133)
@@ -209,6 +209,8 @@
vector wcross_origin;
float wcross_sizefloat_prev, wcross_alpha_prev, wcross_blur_prev;
+float wcross_sizefloat_goal_prev, wcross_alpha_goal_prev, wcross_blur_goal_prev;
+float wcross_lastchangetime;
entity trueaim;
entity trueaim_rifle;
@@ -660,30 +662,29 @@
else
wcross_blur = 0;
- f = cvar("crosshair_effect_speed");
- if(f > 0)
+ if(wcross_blur != wcross_blur_goal_prev || wcross_sizefloat != wcross_sizefloat_goal_prev || wcross_alpha != wcross_alpha_goal_prev)
{
- f *= frametime;
- wcross_sizefloat = bound(wcross_sizefloat_prev - f, wcross_sizefloat, wcross_sizefloat_prev + f);
+ f = cvar("crosshair_effect_speed");
+ if(f < 0)
+ wcross_lastchangetime = time - f * 2 * g_weaponswitchdelay;
+ else
+ wcross_lastchangetime = time + 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_prev - f, wcross_alpha, wcross_alpha_prev + f);
- }
+ wcross_sizefloat_goal_prev = wcross_sizefloat;
+ wcross_alpha_goal_prev = wcross_alpha;
+ wcross_blur_goal_prev = wcross_blur;
-#if 0
- f = cvar("crosshair_effect_speed");
- if(f > 0)
+ // *_prev is at time-frametime
+ // * is at wcross_lastchangetime+f
+ // what do we have at time?
+ if(time < wcross_lastchangetime)
{
- f *= frametime;
- wcross_blur = bound(wcross_blur_prev - f, wcross_blur, wcross_blur_prev + f);
+ f = frametime / (wcross_lastchangetime - time + frametime);
+ wcross_sizefloat = f * wcross_sizefloat + (1 - f) * wcross_sizefloat_prev;
+ wcross_alpha = f * wcross_alpha + (1 - f) * wcross_alpha_prev;
+ //wcross_blur = (frametime / f) * wcross_blur + (1 - frametime / f) * wcross_blur_prev;
}
- else
- wcross_blur = 0;
-#endif
wcross_sizefloat_prev = wcross_sizefloat;
wcross_alpha_prev = wcross_alpha;
@@ -729,6 +730,9 @@
wcross_sizefloat_prev = 0;
wcross_alpha_prev = 0;
wcross_blur_prev = 0;
+ wcross_sizefloat_goal_prev = 0;
+ wcross_alpha_goal_prev = 0;
+ wcross_blur_goal_prev = 0;
}
}
Modified: trunk/data/qcsrc/client/main.qh
===================================================================
--- trunk/data/qcsrc/client/main.qh 2009-10-15 05:17:43 UTC (rev 8132)
+++ trunk/data/qcsrc/client/main.qh 2009-10-15 05:34:38 UTC (rev 8133)
@@ -152,6 +152,7 @@
#define ALPHA_MIN_VISIBLE 0.003
float armorblockpercent;
+float g_weaponswitchdelay;
//hooks
float calledhooks;
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2009-10-15 05:17:43 UTC (rev 8132)
+++ trunk/data/qcsrc/server/cl_client.qc 2009-10-15 05:34:38 UTC (rev 8133)
@@ -1017,6 +1017,7 @@
else
WriteString(MSG_ENTITY, "");
WriteByte(MSG_ENTITY, cvar("g_balance_armor_blockpercent") * 255.0);
+ WriteByte(MSG_ENTITY, cvar("g_balance_weaponswitchdelay") * 255.0);
return TRUE;
}
Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh 2009-10-15 05:17:43 UTC (rev 8132)
+++ trunk/data/qcsrc/server/constants.qh 2009-10-15 05:34:38 UTC (rev 8133)
@@ -1,5 +1,5 @@
-string CVAR_CHECK_DEFAULT = "37cc3aae4b042acd9cf2b71135034bcf";
-string CVAR_CHECK_BALANCE = "1e423b95c67bac7998289473abe8feb1";
+string CVAR_CHECK_DEFAULT = "5d48426c72cdfbf78480870c75601f89";
+string CVAR_CHECK_BALANCE = "7f0cddd65617fa39bd3efb7942dceea9";
float FALSE = 0;
float TRUE = 1;
More information about the nexuiz-commits
mailing list