X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fpathlib%2Futility.qc;h=77f5330ef789d2b75e04c29fa35e00612dda01bd;hb=4d9a40898926a8da83b788f9a862f35cdd4c8905;hp=7bdc70877420a38d60bd7ce7b3da04e99abe4c28;hpb=f2c50fe4e6218a0a1bb0ca078ee122c5ba6a238d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/pathlib/utility.qc b/qcsrc/server/pathlib/utility.qc index 7bdc70877..77f5330ef 100644 --- a/qcsrc/server/pathlib/utility.qc +++ b/qcsrc/server/pathlib/utility.qc @@ -1,18 +1,6 @@ -float fsnap(float val,float fsize) -{ - return rint(val / fsize) * fsize; -} - -vector vsnap(vector point,float fsize) -{ - vector vret; - - vret.x = rint(point.x / fsize) * fsize; - vret.y = rint(point.y / fsize) * fsize; - vret.z = ceil(point.z / fsize) * fsize; +#include "utility.qh" - return vret; -} +#include "pathlib.qh" float location_isok(vector point, float water_isok, float air_isok) { @@ -80,10 +68,10 @@ entity pathlib_nodeatpoint(vector where) node = node.chain; } - return world; + return NULL; } -float tile_check_cross(vector where) +float tile_check_cross(entity this, vector where) { vector p,f,r; @@ -93,32 +81,32 @@ float tile_check_cross(vector where) // forward-right p = where + f + r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (!location_isok(trace_endpos, 1, 0)) return 0; // Forward-left p = where + f - r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (!location_isok(trace_endpos, 1, 0)) return 0; // Back-right p = where - f + r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (!location_isok(trace_endpos, 1 ,0)) return 0; //Back-left p = where - f - r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (!location_isok(trace_endpos, 1, 0)) return 0; return 1; } -float tile_check_plus(vector where) +float tile_check_plus(entity this, vector where) { vector p,f,r; @@ -127,33 +115,33 @@ float tile_check_plus(vector where) // forward p = where + f; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (!location_isok(trace_endpos,1,0)) return 0; //left p = where - r; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (!location_isok(trace_endpos,1,0)) return 0; // Right p = where + r; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (!location_isok(trace_endpos,1,0)) return 0; //Back p = where - f; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (!location_isok(trace_endpos,1,0)) return 0; return 1; } -float tile_check_plus2(vector where) +float tile_check_plus2(entity this, vector where) { vector p,f,r; float i = 0, e = 0; @@ -168,7 +156,7 @@ float tile_check_plus2(vector where) // forward p = where + f; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (location_isok(trace_endpos,1,0)) { ++i; @@ -178,7 +166,7 @@ float tile_check_plus2(vector where) //left p = where - r; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (location_isok(trace_endpos,1,0)) { ++i; @@ -188,7 +176,7 @@ float tile_check_plus2(vector where) // Right p = where + r; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (location_isok(trace_endpos,1,0)) { ++i; @@ -197,7 +185,7 @@ float tile_check_plus2(vector where) //Back p = where - f; - traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self); + traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this); if (location_isok(trace_endpos,1,0)) { ++i; @@ -206,7 +194,7 @@ float tile_check_plus2(vector where) // forward-right p = where + f + r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (location_isok(trace_endpos, 1, 0)) { ++i; @@ -215,7 +203,7 @@ float tile_check_plus2(vector where) // Forward-left p = where + f - r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (location_isok(trace_endpos, 1, 0)) { ++i; @@ -224,7 +212,7 @@ float tile_check_plus2(vector where) // Back-right p = where - f + r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (location_isok(trace_endpos, 1 ,0)) { ++i; @@ -233,7 +221,7 @@ float tile_check_plus2(vector where) //Back-left p = where - f - r; - traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self); + traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this); if (location_isok(trace_endpos, 1, 0)) { ++i; @@ -247,10 +235,10 @@ float tile_check_plus2(vector where) return e; } -float tile_check_star(vector where) +float tile_check_star(entity this, vector where) { - if(tile_check_plus(where)) - return tile_check_cross(where); + if(tile_check_plus(this, where)) + return tile_check_cross(this, where); return 0; }