X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fpathlib%2Fmovenode.qc;h=d1a4e68dff095c1e00019ecb4fbb740c355b936b;hb=826222f84e886d85179a032b07edc71d99982040;hp=997eaa4209a95afbf887b06ee23bba53d312a81b;hpb=11b5d310f4714debb77c3ccdde963c76555a3aa5;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/pathlib/movenode.qc b/qcsrc/server/pathlib/movenode.qc index 997eaa420..d1a4e68df 100644 --- a/qcsrc/server/pathlib/movenode.qc +++ b/qcsrc/server/pathlib/movenode.qc @@ -1,11 +1,18 @@ +#include "movenode.qh" + +#include "pathlib.qh" +#include "utility.qh" + +.vector pos1, pos2; + vector pathlib_wateroutnode(vector start,vector end, float doedge) -{ +{SELFPARAM(); vector surface; pathlib_movenode_goodnode = 0; - end_x = fsnap(end_x, pathlib_gridsize); - end_y = fsnap(end_y, pathlib_gridsize); + end.x = fsnap(end.x, pathlib_gridsize); + end.y = fsnap(end.y, pathlib_gridsize); traceline(end + ('0 0 0.25' * pathlib_gridsize),end - ('0 0 1' * pathlib_gridsize),MOVE_WORLDONLY,self); end = trace_endpos; @@ -13,7 +20,7 @@ vector pathlib_wateroutnode(vector start,vector end, float doedge) if (!(pointcontents(end - '0 0 1') == CONTENT_SOLID)) return end; - for(surface = start ; surface_z < (end_z + 32); ++surface_z) + for(surface = start ; surface.z < (end.z + 32); ++surface.z) { if(pointcontents(surface) == CONTENT_EMPTY) break; @@ -26,21 +33,21 @@ vector pathlib_wateroutnode(vector start,vector end, float doedge) if(trace_fraction == 1) pathlib_movenode_goodnode = 1; - if(fabs(surface_z - end_z) > 32) + if(fabs(surface.z - end.z) > 32) pathlib_movenode_goodnode = 0; return end; } vector pathlib_swimnode(vector start,vector end, float doedge) -{ +{SELFPARAM(); pathlib_movenode_goodnode = 0; if(pointcontents(start) != CONTENT_WATER) return end; - end_x = fsnap(end_x, pathlib_gridsize); - end_y = fsnap(end_y, pathlib_gridsize); + end.x = fsnap(end.x, pathlib_gridsize); + end.y = fsnap(end.y, pathlib_gridsize); if(pointcontents(end) == CONTENT_EMPTY) return pathlib_wateroutnode( start, end, doedge); @@ -53,11 +60,11 @@ vector pathlib_swimnode(vector start,vector end, float doedge) } vector pathlib_flynode(vector start,vector end, float doedge) -{ +{SELFPARAM(); pathlib_movenode_goodnode = 0; - end_x = fsnap(end_x, pathlib_gridsize); - end_y = fsnap(end_y, pathlib_gridsize); + end.x = fsnap(end.x, pathlib_gridsize); + end.y = fsnap(end.y, pathlib_gridsize); tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, self); if(trace_fraction == 1) @@ -67,7 +74,7 @@ vector pathlib_flynode(vector start,vector end, float doedge) } void a_think() -{ +{SELFPARAM(); te_lightning1(self,self.origin, self.pos1); if(self.cnt < time) remove(self); @@ -76,18 +83,18 @@ void a_think() } vector pathlib_walknode(vector start,vector end,float doedge) -{ +{SELFPARAM(); vector direction,point,last_point,s,e; float steps, distance, i; - dprint("Walking node from ", vtos(start), " to ", vtos(end), "\n"); + LOG_TRACE("Walking node from ", vtos(start), " to ", vtos(end), "\n"); pathlib_movenode_goodnode = 0; - end_x = fsnap(end_x,pathlib_gridsize); - end_y = fsnap(end_y,pathlib_gridsize); - start_x = fsnap(start_x,pathlib_gridsize); - start_y = fsnap(start_y,pathlib_gridsize); + end.x = fsnap(end.x,pathlib_gridsize); + end.y = fsnap(end.y,pathlib_gridsize); + start.x = fsnap(start.x,pathlib_gridsize); + start.y = fsnap(start.y,pathlib_gridsize); // Find the floor traceline(start + movenode_stepup, start - movenode_maxdrop, MOVE_WORLDONLY, self); @@ -102,7 +109,7 @@ vector pathlib_walknode(vector start,vector end,float doedge) //start - movenode_maxdrop a.cnt = time + 10; - dprint("I cant walk on air!\n"); + LOG_TRACE("I cant walk on air!\n"); return trace_endpos; } @@ -128,8 +135,8 @@ vector pathlib_walknode(vector start,vector end,float doedge) } point = last_point + (direction * movenode_stepsize); - point_x = fsnap(point_x,pathlib_gridsize); - point_y = fsnap(point_y,pathlib_gridsize); + point.x = fsnap(point.x,pathlib_gridsize); + point.y = fsnap(point.y,pathlib_gridsize); //dprint("end_x: ",ftos(end_x), " end_y: ",ftos(end_y),"\n"); //dprint("point_x:",ftos(point_x)," point_y:",ftos(point_y),"\n\n");