From: terencehill Date: Sat, 20 May 2017 12:29:16 +0000 (+0200) Subject: Merge branch 'master' into terencehill/bot_waypoints X-Git-Tag: xonotic-v0.8.5~2378^2~154 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=5a356ff39bd87af74db73b8fc36cc9613e60f2e7;p=xonotic%2Fxonotic-data.pk3dir.git Merge branch 'master' into terencehill/bot_waypoints # Conflicts: # qcsrc/server/bot/default/navigation.qc # qcsrc/server/impulse.qc --- 5a356ff39bd87af74db73b8fc36cc9613e60f2e7 diff --cc qcsrc/server/bot/default/navigation.qc index bdcab001b,fc9793154..f110a5249 --- a/qcsrc/server/bot/default/navigation.qc +++ b/qcsrc/server/bot/default/navigation.qc @@@ -179,22 -178,6 +179,22 @@@ bool tracewalk(entity e, vector start, tracebox(org + jumpstepheightvec, m1, m2, move + jumpstepheightvec, movemode, e); if (trace_fraction < 1 || trace_startsolid) { + bool ladder_found = false; - FOREACH_ENTITY_CLASS("func_ladder", true, ++ IL_EACH(g_ladders, it.classname == "func_ladder", + { + if(boxesoverlap(org + jumpheight_vec + m1 + '-1 -1 -1', org + jumpheight_vec + m2 + '1 1 1', it.absmin, it.absmax)) + if(boxesoverlap(end, end2, it.absmin + (m1 - eZ * m1.z - '1 1 0'), it.absmax + (m2 - eZ * m2.z + '1 1 0'))) + ladder_found = true; // can't return here ("Loop mutex held by tracewalk" error) + }); + if(ladder_found) + { + if(autocvar_bot_debug_tracewalk) + debugnodestatus(end, DEBUG_NODE_SUCCESS); + + //print("tracewalk: ", vtos(start), " can reach ", vtos(end), "\n"); + return true; + } + if(autocvar_bot_debug_tracewalk) debugnodestatus(trace_endpos, DEBUG_NODE_WARNING);