From: Mario Date: Mon, 24 Oct 2016 15:59:19 +0000 (+0000) Subject: Merge branch 'Mario/intrusive_3' into 'master' X-Git-Tag: xonotic-v0.8.2~473 X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=9380d852b4541b6e3906313f34fc666997da6fa7;hp=-c Merge branch 'Mario/intrusive_3' into 'master' Merge branch Mario/intrusive_3 (XXS merge request) Kills off one of the worst abusers of findfloat(), bringing it down under physics in the most time consuming functions list. See merge request !380 --- 9380d852b4541b6e3906313f34fc666997da6fa7 diff --combined qcsrc/lib/warpzone/server.qc index a3361a8d81,ff9ee90768..51d0e15ee5 --- a/qcsrc/lib/warpzone/server.qc +++ b/qcsrc/lib/warpzone/server.qc @@@ -631,6 -631,7 +631,6 @@@ void WarpZone_InitStep_ClearTarget(enti this.enemy = NULL; } -entity warpzone_first; .entity warpzone_next; void WarpZone_InitStep_FindTarget(entity this) { float i; @@@ -730,8 -731,6 +730,8 @@@ spawnfunc(trigger_warpzone BITSET_ASSIGN(this.effects, EF_NODEPTHTEST); this.warpzone_next = warpzone_first; warpzone_first = this; + + IL_PUSH(g_warpzones, this); } spawnfunc(func_camera) { @@@ -804,10 -803,19 +804,19 @@@ void WarpZone_StartFrame( WarpZone_PostInitialize_Callback(); } - FOREACH_ENTITY_FLOAT(pure_data, false, + if(warpzone_warpzones_exist) { - if(warpzone_warpzones_exist) + IL_EACH(g_projectiles, true, + { WarpZone_StoreProjectileData(it); + }); + } + + + FOREACH_CLIENT(true, + { + if(warpzone_warpzones_exist) + WarpZone_StoreProjectileData(it); // TODO: not actually needed if(IS_OBSERVER(it) || it.solid == SOLID_NOT) if(IS_CLIENT(it)) // we don't care about it being a bot