11 #define inwater(point) (pointcontents(point) == CONTENT_WATER)
float pathlib_g_static_water(entity parent, vector to, float static_cost)
vector pathlib_wateroutnode(entity this, vector start, vector end, float doedge)
var float pathlib_cost(entity parent, vector to, float static_cost)
IntrusiveList g_pathlib_nodes
float pathlib_g_euclidean_water(entity parent, vector to, float static_cost)
float pathlib_h_diagonal3(vector a, vector b)
bool tile_check_cross(entity this, vector where)
float pathlib_expandnode_box(entity node, vector start, vector goal)
vector pathlib_walknode(entity this, vector start, vector end, float doedge)
float pathlib_expandnode_star(entity node, vector start, vector goal)
float pathlib_h_manhattan(vector a, vector b)
Manhattan heuristic means we expect to move up, down left or right No diagonal moves expected...
float pathlib_h_euclidean(vector a, vector b)
This heuristic only considers the straight line distance.
const float pathlib_node_edgeflag_backright
limitations: NULL cannot be present elements can only be present once a maximum of IL_MAX lists can e...
var vector pathlib_movenode(entity this, vector start, vector end, float doedge)
const float pathlib_maxtime
var float pathlib_expandnode(entity node, vector start, vector goal)
float pathlib_bestcash_saved
const float pathlib_node_edgeflag_forwardleft
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
float pathlib_bestopen_searched
float pathlib_searched_cnt
float pathlib_h_diagonal2(vector a, vector b)
This heuristic consider both straight and diagonal moves, but has a separate cost for diagonal moves...
vector pathlib_swimnode(entity this, vector start, vector end, float doedge)
const vector PLIB_FORWARD
float pathlib_h_diagonal2sdp(vector preprev, vector prev, vector point, vector end)
This heuristic consider both straight and diagonal moves, But has a separate cost for diagonal moves...
const float pathlib_node_edgeflag_left
float pathlib_g_static(entity parent, vector to, float static_cost)
float pathlib_movecost_waterfactor
bool tile_check_star(entity this, vector where)
var float pathlib_wpp_waypointcallback(entity wp, entity wp_prev)
vector pathlib_flynode(entity this, vector start, vector end, float doedge)
var bool pathlib_makenode(entity parent, vector start, vector to, vector goal, float cost)
var bool buildpath_nodefilter(vector n, vector c, vector p)
const float pathlib_node_edgeflag_back
vector(float skel, float bonenum) _skel_get_boneabs_hidden
float pathlib_bestcash_hits
const float pathlib_node_edgeflag_backleft
bool tile_check_plus(entity this, vector where)
STATIC_INIT(g_pathlib_nodes)
const float pathlib_node_edgeflag_none
bool pathlib_movenode_goodnode
float pathlib_movecost_diag
const float pathlib_node_edgeflag_forward
float pathlib_g_euclidean(entity parent, vector to, float static_cost)
float pathlib_h_none(vector preprev, vector prev)
var bool tile_check(entity this, vector where)
const float pathlib_node_edgeflag_right
const float pathlib_node_edgeflag_forwardright
float pathlib_node_edgeflags
const float pathlib_node_edgeflag_unknown
float pathlib_h_diagonal(vector a, vector b)
This heuristic consider both straight and diagonal moves to have the same cost.
var float pathlib_heuristic(vector from, vector to)