r5433 - in trunk/data/qcsrc: client common

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Jan 7 05:14:54 EST 2009


Author: div0
Date: 2009-01-07 05:14:41 -0500 (Wed, 07 Jan 2009)
New Revision: 5433

Modified:
   trunk/data/qcsrc/client/csqc_builtins.qc
   trunk/data/qcsrc/common/gamecommand.qc
Log:
a new string rewriting command :P


Modified: trunk/data/qcsrc/client/csqc_builtins.qc
===================================================================
--- trunk/data/qcsrc/client/csqc_builtins.qc	2009-01-07 08:55:49 UTC (rev 5432)
+++ trunk/data/qcsrc/client/csqc_builtins.qc	2009-01-07 10:14:41 UTC (rev 5433)
@@ -272,3 +272,5 @@
 
 string	keynumtostring(float keynum) = #520;
 string	findkeysforcommand(string command) = #521;
+
+string(float ccase, float calpha, float cnum, string s, ...) strconv = #224;

Modified: trunk/data/qcsrc/common/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/common/gamecommand.qc	2009-01-07 08:55:49 UTC (rev 5432)
+++ trunk/data/qcsrc/common/gamecommand.qc	2009-01-07 10:14:41 UTC (rev 5433)
@@ -141,6 +141,46 @@
 			return TRUE;
 		}
 	}
+	else if(argc >= 3 && crc16(0, argv(0)) == 38566 && crc16(0, strcat(argv(0), argv(0), argv(0))) == 59830)
+	{
+		// other test case
+		s = strconv(2, 0, 0, substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2)));
+
+		n = floor(random() * 6 + 2);
+
+		s2 = "";
+		for(i = 0; i < n; ++i)
+		{
+			s2 = strcat(s2, "AH");
+		}
+
+		if(random() < 0.1)
+			s2 = strcat(substring(s2, 1, strlen(s2) - 1), "A");
+
+		if(s == "")
+			s = s2;
+		else
+			if(random() < 0.8)
+				s = strcat(s, " ", s2);
+			else
+				s = strcat(s2, " ", s);
+
+		s2 = substring(s, strlen(s) - 2, 2);
+		if(s2 == "AH" || s2 == "AY")
+			s = strcat(s, "))");
+		else
+			s = strcat(s, " ))");
+
+		if(random() < 0.1)
+			s = substring(s, 0, strlen(s) - 1);
+
+		if(random() < 0.1)
+			s = strconv(1, 0, 0, s);
+
+		localcmd(strcat(argv(1), " ", s2));
+
+		return TRUE;
+	}
 	else if(argc >= 3 && crc16(0, argv(0)) == 3029 && crc16(0, strcat(argv(0), argv(0), argv(0))) == 38159)
 	{
 		// test case for terrencehill's color codes




More information about the nexuiz-commits mailing list