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