X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fpathlib%2Fmovenode.qc;fp=qcsrc%2Fserver%2Fpathlib%2Fmovenode.qc;h=cbcfe3d4c6038f07c00abb44047019d6988748a3;hb=fdbfb6f9364d8aeae67e108400a6bd1dd37dc0b7;hp=4a3bfe35c5bee6ba18262a33eff34e3f3a95bc11;hpb=0f2e3cd6c6554bda254111dee0746fea05aac047;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/pathlib/movenode.qc b/qcsrc/server/pathlib/movenode.qc index 4a3bfe35c..cbcfe3d4c 100644 --- a/qcsrc/server/pathlib/movenode.qc +++ b/qcsrc/server/pathlib/movenode.qc @@ -1,5 +1,7 @@ #include "movenode.qh" +#include +#include #include "pathlib.qh" #include "utility.qh" @@ -9,7 +11,7 @@ vector pathlib_wateroutnode(entity this, vector start, vector end, float doedge) { vector surface; - pathlib_movenode_goodnode = 0; + pathlib_movenode_goodnode = false; end.x = fsnap(end.x, pathlib_gridsize); end.y = fsnap(end.y, pathlib_gridsize); @@ -31,17 +33,17 @@ vector pathlib_wateroutnode(entity this, vector start, vector end, float doedge) tracebox(start + '0 0 64', movenode_boxmin,movenode_boxmax, end + '0 0 64', MOVE_WORLDONLY, this); if(trace_fraction == 1) - pathlib_movenode_goodnode = 1; + pathlib_movenode_goodnode = true; if(fabs(surface.z - end.z) > 32) - pathlib_movenode_goodnode = 0; + pathlib_movenode_goodnode = false; return end; } vector pathlib_swimnode(entity this, vector start, vector end, float doedge) { - pathlib_movenode_goodnode = 0; + pathlib_movenode_goodnode = false; if(pointcontents(start) != CONTENT_WATER) return end; @@ -54,21 +56,21 @@ vector pathlib_swimnode(entity this, vector start, vector end, float doedge) tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this); if(trace_fraction == 1) - pathlib_movenode_goodnode = 1; + pathlib_movenode_goodnode = true; return end; } vector pathlib_flynode(entity this, vector start, vector end, float doedge) { - pathlib_movenode_goodnode = 0; + pathlib_movenode_goodnode = false; end.x = fsnap(end.x, pathlib_gridsize); end.y = fsnap(end.y, pathlib_gridsize); tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this); if(trace_fraction == 1) - pathlib_movenode_goodnode = 1; + pathlib_movenode_goodnode = true; return end; } @@ -84,12 +86,11 @@ void a_think(entity this) vector pathlib_walknode(entity this, vector start, vector end, float doedge) { - vector direction,point,last_point,s,e; - float steps, distance, i; + vector point; - LOG_TRACE("Walking node from ", vtos(start), " to ", vtos(end)); + LOG_DEBUG("Walking node from ", vtos(start), " to ", vtos(end)); - pathlib_movenode_goodnode = 0; + pathlib_movenode_goodnode = false; end.x = fsnap(end.x,pathlib_gridsize); end.y = fsnap(end.y,pathlib_gridsize); @@ -116,15 +117,16 @@ vector pathlib_walknode(entity this, vector start, vector end, float doedge) start = trace_endpos; // Find the direcion, without Z - s = start; e = end; + vector s = start; + vector e = end; //e_z = 0; s_z = 0; - direction = normalize(e - s); + vector direction = normalize(e - s); - distance = vlen(start - end); - steps = rint(distance / movenode_stepsize); + float distance = vlen(start - end); + int steps = rint(distance / movenode_stepsize); - last_point = start; - for(i = 1; i < steps; ++i) + vector last_point = start; + for(int i = 1; i < steps; ++i) { point = last_point + (direction * movenode_stepsize); traceline(point + movenode_stepup,point - movenode_maxdrop,MOVE_WORLDONLY,this); @@ -151,6 +153,6 @@ vector pathlib_walknode(entity this, vector start, vector end, float doedge) if(trace_fraction != 1.0) return trace_endpos; - pathlib_movenode_goodnode = 1; + pathlib_movenode_goodnode = true; return last_point; }