From: terencehill Date: Thu, 14 Jun 2018 17:02:51 +0000 (+0200) Subject: Onslaught: optimize loops through waypoints X-Git-Tag: xonotic-v0.8.5~1923^2~33 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=bb4cba3da5a3b2b27fe0afbd890776fa8763b263;p=xonotic%2Fxonotic-data.pk3dir.git Onslaught: optimize loops through waypoints --- diff --git a/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc b/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc index ec5e79cf7..a4bdc205a 100644 --- a/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc +++ b/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc @@ -1320,7 +1320,7 @@ void havocbot_goalrating_ons_controlpoints_attack(entity this, float ratingscale } // We'll consider only the best case - bestvalue = 99999999999; + bestvalue = FLOAT_MAX; cp = NULL; for(cp1 = ons_worldcplist; cp1; cp1 = cp1.ons_worldcpnext) { @@ -1346,23 +1346,21 @@ void havocbot_goalrating_ons_controlpoints_attack(entity this, float ratingscale // Rate waypoints near it found = false; best = NULL; - bestvalue = 99999999999; - for(radius=0; radius<1000 && !found; radius+=500) + bestvalue = FLOAT_MAX; + for (radius = 0; radius < 1000 && !found; radius += 500) { - for(wp=findradius(cp.origin,radius); wp; wp=wp.chain) + IL_EACH(g_waypoints, vdist(cp.origin - it.origin, <, radius), { - if(!(wp.wpflags & WAYPOINTFLAG_GENERATED)) - if(wp.classname=="waypoint") - if(checkpvs(wp.origin,cp)) + if (!(it.wpflags & WAYPOINTFLAG_GENERATED) && checkpvs(it.origin, cp)) { found = true; - if(wp.cnt