[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