From bb4cba3da5a3b2b27fe0afbd890776fa8763b263 Mon Sep 17 00:00:00 2001 From: terencehill Date: Thu, 14 Jun 2018 19:02:51 +0200 Subject: [PATCH] Onslaught: optimize loops through waypoints --- .../gamemode/onslaught/sv_onslaught.qc | 48 ++++++++----------- 1 file changed, 21 insertions(+), 27 deletions(-) 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