From 812174450599be9d3ee2c9596fa56a199369e1a6 Mon Sep 17 00:00:00 2001 From: div0 Date: Wed, 7 Jan 2009 10:14:41 +0000 Subject: [PATCH] a new string rewriting command :P git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5433 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/client/csqc_builtins.qc | 2 ++ data/qcsrc/common/gamecommand.qc | 40 ++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/data/qcsrc/client/csqc_builtins.qc b/data/qcsrc/client/csqc_builtins.qc index 4b715e819..776497680 100644 --- a/data/qcsrc/client/csqc_builtins.qc +++ b/data/qcsrc/client/csqc_builtins.qc @@ -272,3 +272,5 @@ string(string in) uri_escape = #510; string keynumtostring(float keynum) = #520; string findkeysforcommand(string command) = #521; + +string(float ccase, float calpha, float cnum, string s, ...) strconv = #224; diff --git a/data/qcsrc/common/gamecommand.qc b/data/qcsrc/common/gamecommand.qc index e580a5bf9..2bbfe0759 100644 --- a/data/qcsrc/common/gamecommand.qc +++ b/data/qcsrc/common/gamecommand.qc @@ -141,6 +141,46 @@ float GameCommand_Generic(string command) 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 -- 2.39.2