[nexuiz-commits] r8102 - in trunk/data: . qcsrc/common

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Oct 11 11:25:43 EDT 2009


Author: div0
Date: 2009-10-11 11:25:42 -0400 (Sun, 11 Oct 2009)
New Revision: 8102

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/common/util.qc
Log:
support longer settemp lists


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-10-11 14:21:47 UTC (rev 8101)
+++ trunk/data/defaultNexuiz.cfg	2009-10-11 15:25:42 UTC (rev 8102)
@@ -1181,10 +1181,12 @@
 
 // settemp subsystem. Do not touch. Usage: settemp variable value, next map resets it.
 set settemp_list 0
-set settemp_var _settemp_x
-alias settemp "settemp_list \"1 $1 $settemp_var $settemp_list\"; set $settemp_var \"${$1}\"; settemp_var ${settemp_var}x; $1 \"$2\""
+set settemp_idx 0
+set _settemp_var UNUSED
+alias settemp "_settemp_var \"_settemp_x$settemp_idx\"; qc_cmd rpn /settemp_idx settemp_idx 1 add def; _settemp \"$1\" \"$2\""
+alias _settemp "settemp_list \"1 $1 $_settemp_var $settemp_list\"; set $_settemp_var \"${$1}\"; $1 \"$2\""
 alias settemp_restore "_settemp_restore_${settemp_list asis}"
-alias _settemp_restore_0 "set settemp_var _settemp_x; set settemp_list 0"
+alias _settemp_restore_0 "set settemp_var 0; set settemp_list 0"
 alias _settemp_restore_1 "$1 \"${$2}\"; _settemp_restore_${3- asis}"
 
 // usercommands. These can be edited and bound by the menu.

Modified: trunk/data/qcsrc/common/util.qc
===================================================================
--- trunk/data/qcsrc/common/util.qc	2009-10-11 14:21:47 UTC (rev 8101)
+++ trunk/data/qcsrc/common/util.qc	2009-10-11 15:25:42 UTC (rev 8102)
@@ -882,16 +882,20 @@
 #else
 void cvar_settemp(string pKey, string pValue)
 {
+	float i;
+	string settemp_var;
 	if(cvar_string(pKey) == pValue)
 		return;
-	cvar_set("settemp_list", strcat("1 ", pKey, " ", cvar_string("settemp_var"), " ", cvar_string("settemp_list")));
+	i = cvar("settemp_idx");
+	cvar_set("settemp_idx", ftos(i+1));
+	settemp_var = strcat("_settemp_x", ftos(i));
 #ifdef MENUQC
-	registercvar(cvar_string("settemp_var"), "", 0);
+	registercvar(settemp_var, "", 0);
 #else
-	registercvar(cvar_string("settemp_var"), "");
+	registercvar(settemp_var, "");
 #endif
-	cvar_set(cvar_string("settemp_var"), cvar_string(pKey));
-	cvar_set("settemp_var", strcat(cvar_string("settemp_var"), "x"));
+	cvar_set("settemp_list", strcat("1 ", pKey, " ", settemp_var, " ", cvar_string("settemp_list")));
+	cvar_set(settemp_var, cvar_string(pKey));
 	cvar_set(pKey, pValue);
 }
 



More information about the nexuiz-commits mailing list