11#define inwater(point) (pointcontents(point) == CONTENT_WATER)
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
limitations: NULL cannot be present elements can only be present once a maximum of IL_MAX lists can e...
const float pathlib_node_edgeflag_forwardright
float pathlib_g_euclidean(entity parent, vector to, float static_cost)
float pathlib_movecost_diag
var bool buildpath_nodefilter(vector n, vector c, vector p)
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.
const float pathlib_maxtime
const vector PLIB_FORWARD
var bool tile_check(entity this, vector where)
var vector pathlib_movenode(entity this, vector start, vector end, float doedge)
bool pathlib_movenode_goodnode
float pathlib_searched_cnt
var float pathlib_wpp_waypointcallback(entity wp, entity wp_prev)
IntrusiveList g_pathlib_nodes
const float pathlib_node_edgeflag_backright
var float pathlib_cost(entity parent, vector to, float static_cost)
var float pathlib_heuristic(vector from, vector to)
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.
float pathlib_g_euclidean_water(entity parent, vector to, float static_cost)
const float pathlib_node_edgeflag_forward
const float pathlib_node_edgeflag_left
var bool pathlib_makenode(entity parent, vector start, vector to, vector goal, float cost)
bool tile_check_cross(entity this, vector where)
const float pathlib_node_edgeflag_forwardleft
const float pathlib_node_edgeflag_right
var float pathlib_expandnode(entity node, vector start, vector goal)
float pathlib_g_static(entity parent, vector to, float static_cost)
const float pathlib_node_edgeflag_unknown
vector pathlib_walknode(entity this, vector start, vector end, float doedge)
float pathlib_node_edgeflags
float pathlib_h_diagonal3(vector a, vector b)
const float pathlib_node_edgeflag_backleft
bool tile_check_star(entity this, vector where)
const float pathlib_node_edgeflag_back
const float pathlib_node_edgeflag_none
float pathlib_expandnode_box(entity node, vector start, vector goal)
float pathlib_movecost_waterfactor
float pathlib_h_diagonal(vector a, vector b)
This heuristic consider both straight and diagonal moves to have the same cost.
float pathlib_bestcash_saved
float pathlib_h_euclidean(vector a, vector b)
This heuristic only considers the straight line distance.
vector pathlib_wateroutnode(entity this, vector start, vector end, float doedge)
float pathlib_bestopen_searched
float pathlib_h_diagonal2(vector a, vector b)
This heuristic consider both straight and diagonal moves, but has a separate cost for diagonal moves.
float pathlib_bestcash_hits
float pathlib_h_none(vector preprev, vector prev)
vector pathlib_flynode(entity this, vector start, vector end, float doedge)
bool tile_check_plus(entity this, vector where)
vector pathlib_swimnode(entity this, vector start, vector end, float doedge)
float pathlib_g_static_water(entity parent, vector to, float static_cost)
#define STATIC_INIT(func)
during worldspawn