r1688 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Jun 28 17:14:53 EDT 2006
Author: div0
Date: 2006-06-28 17:14:53 -0400 (Wed, 28 Jun 2006)
New Revision: 1688
Added:
trunk/data/qcsrc/server/centermsg.qc
trunk/data/qcsrc/server/centermsg.qh
Log:
DAMN! I forgot these files.
Added: trunk/data/qcsrc/server/centermsg.qc
===================================================================
--- trunk/data/qcsrc/server/centermsg.qc 2006-06-28 17:31:53 UTC (rev 1687)
+++ trunk/data/qcsrc/server/centermsg.qc 2006-06-28 21:14:53 UTC (rev 1688)
@@ -0,0 +1,129 @@
+.float centermsg_expire[MAXCENTERMSG];
+.string centermsg_text[MAXCENTERMSG];
+.float centermsg_nextdisplay;
+
+void centermsg_makedirty()
+{
+ self.centermsg_nextdisplay = time;
+}
+
+void centermsg_free(float lineno)
+{
+ if(self.(centermsg_expire[lineno]) > 0)
+ strunzone(self.(centermsg_text[lineno]));
+ self.(centermsg_expire[lineno]) = -1;
+ self.(centermsg_text[lineno]) = "";
+ centermsg_makedirty();
+}
+
+void centermsg_freefor(entity p, float lineno)
+{
+ entity oldself;
+ oldself = self;
+ self = p;
+ centermsg_free(lineno);
+ self = oldself;
+}
+
+void centermsg_set(float lineno, string text)
+{
+ centermsg_free(lineno);
+ self.(centermsg_expire[lineno]) = time + self.cvar_scr_centertime;
+ self.(centermsg_text[lineno]) = strzone(text);
+ centermsg_makedirty();
+}
+
+void centermsg_setexpire(float lineno, string text, float expire)
+{
+ centermsg_free(lineno);
+ self.(centermsg_expire[lineno]) = time + self.cvar_scr_centertime * expire;
+ self.(centermsg_text[lineno]) = strzone(text);
+ centermsg_makedirty();
+}
+
+void centermsg_setfor(entity p, float lineno, string text)
+{
+ entity oldself;
+ oldself = self;
+ self = p;
+ centermsg_set(lineno, text);
+ self = oldself;
+}
+
+float centermsg_checkexpire(float lineno)
+{
+ if(self.(centermsg_expire[lineno]) >= 0)
+ {
+ if(self.(centermsg_expire[lineno]) < time)
+ {
+ centermsg_free(lineno);
+ return FALSE;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void centermsg_do()
+{
+ float i;
+ float found;
+ string out;
+ found = 0;
+
+ if(self.cvar_scr_centertime)
+ self.centermsg_nextdisplay = time + self.cvar_scr_centertime * 0.8;
+
+ for(i = 0; i < MAXCENTERMSG; ++i)
+ if(centermsg_checkexpire(i))
+ found = 1;
+
+ if(!found)
+ return;
+
+ out = "\n\n\n\n\n\n\n\n\n\n\n\n\n";
+ for(i = 0; i < MAXCENTERMSG; ++i)
+ {
+ out = strcat(out, "^7");
+ if(self.centermsg_expire[i] >= 0)
+ out = strcat(out, self.(centermsg_text[i]));
+ out = strcat(out, "\n");
+ }
+ centerprint(self, out);
+}
+
+void centermsg_check()
+{
+ if(clienttype(self) != CLIENTTYPE_REAL)
+ return;
+ if(self.centermsg_nextdisplay && self.centermsg_nextdisplay <= time)
+ centermsg_do();
+}
+
+void centermsg_reset()
+{
+ float i;
+ self.centermsg_nextdisplay = 0;
+ for(i = 0; i < MAXCENTERMSG; ++i)
+ centermsg_free(i);
+ centerprint(self, "");
+}
+
+void centermsg_setall(string s)
+{
+ float i;
+ centerprint(self, s);
+ self.centermsg_nextdisplay = 0;
+ for(i = 0; i < MAXCENTERMSG; ++i)
+ centermsg_free(i);
+}
+
+void centermsg_setallfor(entity p, string text)
+{
+ entity oldself;
+ oldself = self;
+ self = p;
+ centermsg_setall(text);
+ self = oldself;
+}
+
Added: trunk/data/qcsrc/server/centermsg.qh
===================================================================
--- trunk/data/qcsrc/server/centermsg.qh 2006-06-28 17:31:53 UTC (rev 1687)
+++ trunk/data/qcsrc/server/centermsg.qh 2006-06-28 21:14:53 UTC (rev 1688)
@@ -0,0 +1,28 @@
+// centerprint locations
+#define MAXCENTERMSG 9
+#define CENTERMSG_VOTE 0
+#define CENTERMSG_GAMEMODE1 2
+#define CENTERMSG_GAMEMODE2 3
+#define CENTERMSG_NIXNEXCOUNT 4
+#define CENTERMSG_TRIGGER 5
+#define CENTERMSG_NIXNEX 6
+#define CENTERMSG_MINSTAGIB 6
+#define CENTERMSG_MINSTAGIB2 7
+#define CENTERMSG_TEAMCHANGE 7
+#define CENTERMSG_TEAMCHANGE2 8
+#define CENTERMSG_KILL 8
+#define CENTERMSG_DEATH 8
+#define CENTERMSG_CAMP 8
+
+#define CENTERMSG_ARENACHAMP CENTERMSG_GAMEMODE1
+#define CENTERMSG_ARENATIMER CENTERMSG_GAMEMODE2
+#define CENTERMSG_CTF CENTERMSG_GAMEMODE1
+
+void centermsg_check();
+void centermsg_reset();
+void centermsg_set(float lineno, string text);
+void centermsg_setfor(entity player, float lineno, string text);
+void centermsg_free(float lineno);
+void centermsg_freefor(entity player, float lineno);
+void centermsg_setall(string s);
+void centermsg_setallfor(entity player, string s);
More information about the nexuiz-commits
mailing list