+#ifndef PATHLIB_H
+#define PATHLIB_H
+
.entity pathlib_list;
.entity path_next;
.entity path_prev;
#define inwater(point) (pointcontents(point) == CONTENT_WATER)
#define medium spawnshieldtime
-#define PLIB_FORWARD '0 1 0'
+const vector PLIB_FORWARD = '0 1 0';
//#define PLIB_BACK '0 -1 0'
-#define PLIB_RIGHT '1 0 0'
+const vector PLIB_RIGHT = '1 0 0';
//#define PLIB_LEFT '-1 0 0'
-#define DEBUGPATHING
#ifdef DEBUGPATHING
void pathlib_showpath(entity start);
void pathlib_showpath2(entity path);
.float pathlib_node_f;
.float pathlib_node_c;
-#define pathlib_node_edgeflag_unknown 0
-#define pathlib_node_edgeflag_left 2
-#define pathlib_node_edgeflag_right 4
-#define pathlib_node_edgeflag_forward 8
-#define pathlib_node_edgeflag_back 16
-#define pathlib_node_edgeflag_backleft 32
-#define pathlib_node_edgeflag_backright 64
-#define pathlib_node_edgeflag_forwardleft 128
-#define pathlib_node_edgeflag_forwardright 256
-#define pathlib_node_edgeflag_none 512
+const float pathlib_node_edgeflag_unknown = 0;
+const float pathlib_node_edgeflag_left = BIT(1);
+const float pathlib_node_edgeflag_right = BIT(2);
+const float pathlib_node_edgeflag_forward = BIT(3);
+const float pathlib_node_edgeflag_back = BIT(4);
+const float pathlib_node_edgeflag_backleft = BIT(5);
+const float pathlib_node_edgeflag_backright = BIT(6);
+const float pathlib_node_edgeflag_forwardleft = BIT(7);
+const float pathlib_node_edgeflag_forwardright = BIT(8);
+const float pathlib_node_edgeflag_none = BIT(9);
.float pathlib_node_edgeflags;
float pathlib_open_cnt;
float pathlib_foundgoal;
float pathlib_starttime;
-#define pathlib_maxtime 60
+const float pathlib_maxtime = 60;
entity best_open_node;
var float pathlib_wpp_waypointcallback(entity wp, entity wp_prev);
-#ifdef DEBUGPATHING
- #include "debug.qc"
#endif
-
-#include "utility.qc"
-#include "movenode.qc"
-#include "costs.qc"
-#include "expandnode.qc"
-#include "main.qc"
-#include "path_waypoint.qc"