r2052 - branches/nexuiz-2.0/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Dec 17 16:38:27 EST 2006


Author: div0
Date: 2006-12-17 16:38:27 -0500 (Sun, 17 Dec 2006)
New Revision: 2052

Modified:
   branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
   branches/nexuiz-2.0/data/qcsrc/server/defs.qh
   branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
Log:
version nagging; strstr fix


Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc	2006-12-17 21:37:56 UTC (rev 2051)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc	2006-12-17 21:38:27 UTC (rev 2052)
@@ -666,6 +666,7 @@
 	
 	self.classname = "player_joining";
 	self.flags = self.flags | FL_CLIENT;
+	self.version_nagtime = time + 10 + random() * 10;
 
 	if(player_count<0) player_count = 0;
 
@@ -829,6 +830,9 @@
 		Spawnqueue_Unmark(self);
 		Spawnqueue_Remove(self);
 	}
+
+	// free cvars
+	GetCvars(-1);
 }
 
 .float buttonchat;
@@ -1283,6 +1287,20 @@
 void() ctf_setstatus;
 void PlayerPreThink (void)
 {
+	// version nagging
+	if(self.version_nagtime)
+		if(self.cvar_g_nexuizversion)
+			if(time > self.version_nagtime)
+			{
+				if(strstr(self.cvar_g_nexuizversion, "svn", 0) < 0)
+					if(self.cvar_g_nexuizversion != cvar_string("g_nexuizversion"))
+					{
+						dprint("^1NOTE^7 to ", self.netname, "^7 - the server is running ^3Nexuiz ", cvar_string("g_nexuizversion"), "^7, you have ^3Nexuiz ", self.cvar_g_nexuizversion, "\n");
+						sprint(self, strcat("\{1}^1NOTE: ^7the server is running ^3Nexuiz ", cvar_string("g_nexuizversion"), "^7, you have ^3Nexuiz ", self.cvar_g_nexuizversion, "\n"));
+					}
+				self.version_nagtime = 0;
+			}
+
 	if(self.classname == "player") {
 		local vector m1, m2;
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/defs.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/defs.qh	2006-12-17 21:37:56 UTC (rev 2051)
+++ branches/nexuiz-2.0/data/qcsrc/server/defs.qh	2006-12-17 21:38:27 UTC (rev 2052)
@@ -257,7 +257,10 @@
 .float cvar_cl_nogibs;
 .float cvar_scr_centertime;
 .float cvar_cl_shownames;
+.string cvar_g_nexuizversion;
 
+.float version_nagtime;
+
 #ifdef ALLOW_VARIABLE_LOD
 .float modelindex_lod0;
 .float modelindex_lod1;

Modified: branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc	2006-12-17 21:37:56 UTC (rev 2051)
+++ branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc	2006-12-17 21:38:27 UTC (rev 2052)
@@ -169,7 +169,7 @@
 	string found;
 	len = strlen(needle);
 	endpos = strlen(haystack) - len;
-	while(offset < endpos)
+	while(offset <= endpos)
 	{
 		found = substring(haystack, offset, len);
 		if(found == needle)
@@ -378,18 +378,30 @@
 */
 void GetCvars_handleString(float f, .string field, string name)
 {
-	if(f)
+	if(f < 0)
 	{
+		if(self.field)
+			strunzone(self.field);
+	}
+	else if(f > 0)
+	{
 		if(argv(f) == name)
-			self.field = argv(f + 1);
+		{
+			if(self.field)
+				strunzone(self.field);
+			self.field = strzone(argv(f + 1));
+		}
 	}
 	else
 		stuffcmd(self, strcat("cmd reportcvar ", name, " $", name, "\n"));
 }
 void GetCvars_handleFloat(float f, .float field, string name)
 {
-	if(f)
+	if(f < 0)
 	{
+	}
+	else if(f > 0)
+	{
 		if(argv(f) == name)
 			self.field = stof(argv(f + 1));
 	}
@@ -402,6 +414,7 @@
 	GetCvars_handleFloat(f, cvar_cl_nogibs, "cl_nogibs");
 	GetCvars_handleFloat(f, cvar_scr_centertime, "scr_centertime");
 	GetCvars_handleFloat(f, cvar_cl_shownames, "cl_shownames");
+	GetCvars_handleString(f, cvar_g_nexuizversion, "g_nexuizversion");
 }
 
 float fexists(string f)




More information about the nexuiz-commits mailing list