]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - sv_main.c
faster number to edict lookup (sv.edictstable) and faster edict to number lookup...
[xonotic/darkplaces.git] / sv_main.c
index 1f3e4bb6e3f03526a03a77fc6bd8bc1d721b6b91..7f250b0d8d45acf34ef73ab7470bdd69bc98031f 100644 (file)
--- a/sv_main.c
+++ b/sv_main.c
@@ -1766,6 +1766,13 @@ void SV_SpawnServer (const char *server)
        // clear the edict memory pool
        Mem_EmptyPool(sv_edicts_mempool);
        sv.edicts = Mem_Alloc(sv_edicts_mempool, sv.max_edicts * pr_edict_size);
+       sv.edictstable = Mem_Alloc(sv_edicts_mempool, sv.max_edicts * sizeof(edict_t *));
+       for (i = 0;i < MAX_EDICTS;i++)
+       {
+               ent = (edict_t *)((qbyte *)sv.edicts + (i * pr_edict_size));
+               ent->number = i;
+               sv.edictstable[i] = ent;
+       }
 
        sv.datagram.maxsize = sizeof(sv.datagram_buf);
        sv.datagram.cursize = 0;