+#include "main.qh"
#include "pathlib.qh"
#include "utility.qh"
e = findchainentity(owner, start);
while(e)
{
- e.think = SUB_Remove_self;
+ setthink(e, SUB_Remove);
e.nextthink = time;
e = e.chain;
}
void dumpnode(entity n)
{
n.is_path_node = false;
- n.think = SUB_Remove_self;
+ setthink(n, SUB_Remove);
n.nextthink = time;
}
node = spawn();
- node.think = SUB_Remove_self;
+ setthink(node, SUB_Remove);
node.nextthink = time + PATHLIB_NODEEXPIRE;
node.is_path_node = true;
node.owner = openlist;
return 1;
}
- where = pathlib_movenode(parent.origin, to, 0);
+ where = pathlib_movenode(parent, parent.origin, to, 0);
if (!pathlib_movenode_goodnode)
{
if(doedge)
- if (!tile_check(where))
+ if (!tile_check(parent, where))
{
LOG_TRACE("tile_check fail\n");
#if DEBUGPATHING
{
if(node.pathlib_node_g > g)
{
- //pathlib_movenode(where,node.origin,0);
+ //pathlib_movenode(node, where,node.origin,0);
//if(pathlib_movenode_goodnode)
//{
//mark_error(node.origin + '0 0 128',30);
node.owner = closedlist;
- if(vlen(node.origin - goal) <= pathlib_gridsize)
+ if(vdist(node.origin - goal, <=, pathlib_gridsize))
{
vector goalmove;
- goalmove = pathlib_walknode(node.origin,goal,1);
+ goalmove = pathlib_walknode(node, node.origin, goal, 1);
if(pathlib_movenode_goodnode)
{
goal_node = node;
return 0;
}
-float buildpath_nodefilter_moveskip(vector n,vector c,vector p)
+float buildpath_nodefilter_moveskip(entity this, vector n,vector c,vector p)
{
- pathlib_walknode(p,n,1);
+ pathlib_walknode(this, p, n, 1);
if(pathlib_movenode_goodnode)
return 1;
return path;
}
-entity pathlib_astar(vector from,vector to)
-{SELFPARAM();
+entity pathlib_astar(entity this, vector from,vector to)
+{
entity path, start, end, open, n, ln;
float ptime, ftime, ctime;
pathlib_movecost_waterfactor = 25000000;
pathlib_foundgoal = 0;
- movenode_boxmax = self.maxs * 1.1;
- movenode_boxmin = self.mins * 1.1;
+ movenode_boxmax = this.maxs * 1.1;
+ movenode_boxmin = this.mins * 1.1;
movenode_stepsize = pathlib_gridsize * 0.25;