From: Mario Date: Sun, 21 Aug 2016 11:21:20 +0000 (+1000) Subject: Intrusify uncustomizables X-Git-Tag: xonotic-v0.8.2~663^2~28 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=a0df81d6263c9d3783070ac4078c6954a26d845c;p=xonotic%2Fxonotic-data.pk3dir.git Intrusify uncustomizables --- diff --git a/qcsrc/lib/net.qh b/qcsrc/lib/net.qh index 86c15ec47..30ab014ec 100644 --- a/qcsrc/lib/net.qh +++ b/qcsrc/lib/net.qh @@ -98,6 +98,9 @@ STATIC_INIT(C2S_Protocol_renumber) { FOREACH(C2S_Protocol, true, it.m_id = i); } .int Version; // deprecated, use SendFlags .int SendFlags; + IntrusiveList g_uncustomizables; + STATIC_INIT(g_uncustomizables) { g_uncustomizables = IL_NEW(); } + void Net_LinkEntity(entity e, bool docull, float dt, bool(entity this, entity to, int sendflags) sendfunc) { if (e.classname == "") e.classname = "net_linked"; @@ -135,11 +138,13 @@ STATIC_INIT(C2S_Protocol_renumber) { FOREACH(C2S_Protocol, true, it.m_id = i); } setcefc(e, customizer); e.uncustomizeentityforclient = uncustomizer; e.uncustomizeentityforclient_set = !!uncustomizer; + if(uncustomizer) + IL_PUSH(g_uncustomizables, e); } void UncustomizeEntitiesRun() { - FOREACH_ENTITY_FLOAT(uncustomizeentityforclient_set, true, it.uncustomizeentityforclient(it)); + IL_EACH(g_uncustomizables, it.uncustomizeentityforclient_set, it.uncustomizeentityforclient(it)); } STRING_ITERATOR(g_buf, string_null, 0);