r3889 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Jul 23 05:22:38 EDT 2008
Author: div0
Date: 2008-07-23 05:22:30 -0400 (Wed, 23 Jul 2008)
New Revision: 3889
Modified:
trunk/data/qcsrc/server/miscfunctions.qc
Log:
avoid findflags (minor performance gain on servers)
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2008-07-23 06:38:46 UTC (rev 3888)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2008-07-23 09:22:30 UTC (rev 3889)
@@ -109,11 +109,20 @@
}
}
+string STR_PLAYER = "player";
+
+#if 0
#define FOR_EACH_CLIENT(v) for(v = world; (v = findflags(v, flags, FL_CLIENT)) != world; )
#define FOR_EACH_REALCLIENT(v) FOR_EACH_CLIENT(v) if(clienttype(v) == CLIENTTYPE_REAL)
-string STR_PLAYER = "player";
#define FOR_EACH_PLAYER(v) for(v = world; (v = find(v, classname, STR_PLAYER)) != world; )
#define FOR_EACH_REALPLAYER(v) FOR_EACH_PLAYER(v) if(clienttype(v) == CLIENTTYPE_REAL)
+#else
+#define FOR_EACH_CLIENTSLOT(v) for(v = world; (v = nextent(v)) && (num_for_edict(v) <= maxclients); )
+#define FOR_EACH_CLIENT(v) FOR_EACH_CLIENTSLOT(v) if(v.flags & FL_CLIENT)
+#define FOR_EACH_REALCLIENT(v) FOR_EACH_CLIENT(v) if(clienttype(v) == CLIENTTYPE_REAL)
+#define FOR_EACH_PLAYER(v) FOR_EACH_CLIENT(v) if(v.classname == STR_PLAYER)
+#define FOR_EACH_REALPLAYER(v) FOR_EACH_REALCLIENT(v) if(v.classname == STR_PLAYER)
+#endif
// change that to actually calling strcat when running on an engine without
// unlimited tempstrings:
More information about the nexuiz-commits
mailing list