r3523 - trunk/data/qcsrc/common

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Mar 19 15:45:31 EDT 2008


Author: blub0
Date: 2008-03-19 15:45:31 -0400 (Wed, 19 Mar 2008)
New Revision: 3523

Modified:
   trunk/data/qcsrc/common/gamecommand.qc
   trunk/data/qcsrc/common/util.qc
Log:
centerprint command available for the client via menu_cmd cp blah, might make a more flexible version later? alignment, images...?

Modified: trunk/data/qcsrc/common/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/common/gamecommand.qc	2008-03-19 17:56:23 UTC (rev 3522)
+++ trunk/data/qcsrc/common/gamecommand.qc	2008-03-19 19:45:31 UTC (rev 3523)
@@ -562,6 +562,17 @@
 			}
 			return TRUE;
 		}
+#ifdef MENUQC
+	} else if(argv(0) == "cp") {
+		if(argc >= 2)
+		{
+			s = argv(1);
+			for(i = 2; i < argc; ++i)
+				s = strcat(s, " ", argv(i));
+			centerprint(unescape(s));
+		}
+		return TRUE;
+#endif
 	}
 
 	return FALSE;

Modified: trunk/data/qcsrc/common/util.qc
===================================================================
--- trunk/data/qcsrc/common/util.qc	2008-03-19 17:56:23 UTC (rev 3522)
+++ trunk/data/qcsrc/common/util.qc	2008-03-19 19:45:31 UTC (rev 3523)
@@ -37,6 +37,37 @@
 }
 #endif
 
+string unescape(string in)
+{
+	local float i, len;
+	local string str, s;
+
+	// but it doesn't seem to be necessary in my tests at least
+	in = strzone(in);
+
+	len = strlen(in);
+	str = "";
+	for(i = 0; i < len; ++i)
+	{
+		s = substring(in, i, 1);
+		if(s == "\\")
+		{
+			s = substring(in, i+1, 1);
+			if(s == "n")
+				str = strcat(str, "\n");
+			else if(s == "\\")
+				str = strcat(str, "\\");
+			else
+				str = strcat(str, substring(in, i, 2));
+			++i;
+		} else
+			str = strcat(str, s);
+	}
+
+	strunzone(in);
+	return str;
+}
+
 void wordwrap_cb(string s, float l, void(string) callback)
 {
 	local string c;




More information about the nexuiz-commits mailing list