[nexuiz-commits] r8332 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Nov 29 08:40:59 EST 2009


Author: div0
Date: 2009-11-29 08:40:59 -0500 (Sun, 29 Nov 2009)
New Revision: 8332

Modified:
   trunk/data/qcsrc/server/campaign.qc
   trunk/data/qcsrc/server/g_world.qc
   trunk/data/qcsrc/server/miscfunctions.qc
Log:
new cvar checking: bail out if an undefined cvar is used


Modified: trunk/data/qcsrc/server/campaign.qc
===================================================================
--- trunk/data/qcsrc/server/campaign.qc	2009-11-29 13:23:15 UTC (rev 8331)
+++ trunk/data/qcsrc/server/campaign.qc	2009-11-29 13:40:59 UTC (rev 8332)
@@ -11,9 +11,9 @@
 
 float CampaignBailout(string s)
 {
-	cvar = cvar_builtin;
-	cvar_string = cvar_string_builtin;
-	cvar_set = cvar_set_builtin;
+	cvar = cvar_normal;
+	cvar_string = cvar_string_normal;
+	cvar_set = cvar_set_normal;
 	cvar_set("g_campaign", "0");
 	print("campaign initialization failed: ", s, "\n");
 	return 1;
@@ -101,7 +101,7 @@
 
 	// copy sv_gravity cvar, as the engine needs it too (sorry, this will mess
 	// with the menu a little still...)
-	cvar_set_builtin("sv_gravity", cvar_string("sv_gravity"));
+	cvar_set_normal("sv_gravity", cvar_string("sv_gravity"));
 
 	if(Campaign_Invalid())
 		return;
@@ -120,8 +120,8 @@
 		return;
 	cvar_set("fraglimit", ftos(campaign_fraglimit[0]));
 	cvar_set("timelimit", "0");
-	cvar_set_builtin("fraglimit", ftos(campaign_fraglimit[0]));
-	cvar_set_builtin("timelimit", "0");
+	cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0]));
+	cvar_set_normal("timelimit", "0");
 }
 
 void CampaignSaveCvar(string cvarname, float value)
@@ -132,7 +132,7 @@
 	string l;
 
 	registercvar(cvarname, ftos(value));
-	cvar_set_builtin(cvarname, ftos(value));
+	cvar_set_normal(cvarname, ftos(value));
 	// note: cvarname must be remembered
 
 	fh = fopen("campaign.cfg", FILE_READ);
@@ -209,7 +209,7 @@
 			// advance level (for menu to show it right)
 			CampaignSaveCvar(campaign_index_var, campaign_level + 1);
 		}
-		else if(campaign_level == cvar_builtin(campaign_index_var))
+		else if(campaign_level == cvar_normal(campaign_index_var))
 		{
 			// advance level
 			CampaignSaveCvar(campaign_index_var, campaign_level + 1);

Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc	2009-11-29 13:23:15 UTC (rev 8331)
+++ trunk/data/qcsrc/server/g_world.qc	2009-11-29 13:40:59 UTC (rev 8332)
@@ -350,9 +350,9 @@
 	// handler for _init/_init map (only for dedicated server initialization)
 
 	world_initialized = -1; // don't complain
-	cvar = cvar_builtin;
-	cvar_string = cvar_string_builtin;
-	cvar_set = cvar_set_builtin;
+	cvar = cvar_normal;
+	cvar_string = cvar_string_normal;
+	cvar_set = cvar_set_normal;
 	dprint_load(); // load dprint status from cvar
 
 	remove = remove_unsafely;
@@ -383,9 +383,9 @@
 	float fd, l, i, j, n;
 	string s, col;
 
-	cvar = cvar_builtin;
-	cvar_string = cvar_string_builtin;
-	cvar_set = cvar_set_builtin;
+	cvar = cvar_normal;
+	cvar_string = cvar_string_normal;
+	cvar_set = cvar_set_normal;
 	dprint_load(); // load dprint status from cvar
 
 	if(world_already_spawned)

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-11-29 13:23:15 UTC (rev 8331)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-11-29 13:40:59 UTC (rev 8332)
@@ -2758,3 +2758,24 @@
 	else
 		return 1;
 }
+
+
+
+
+#ifdef RELEASE
+#define cvar_string_normal cvar_string_builtin
+#define cvar_normal cvar_builtin
+#else
+string cvar_string_normal(string n)
+{
+	if not(cvar_type(n) & 1)
+		error(strcat("Attempt to access undefined cvar: ", n));
+	return cvar_string_builtin(n);
+}
+
+float cvar_normal(string n)
+{
+	return stof(cvar_string_normal(n));
+}
+#endif
+#define cvar_set_normal cvar_set_builtin



More information about the nexuiz-commits mailing list