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