// increase by 0.01 when changes require only waypoint relinking
// increase by 1 when changes require to manually edit waypoints
// max 2 decimal places, always specified
-const float WAYPOINT_VERSION = 1.03;
+const float WAYPOINT_VERSION = 1.04;
float waypoint_version_loaded;
string waypoint_time;
.vector wpnearestpoint;
+// holds reference to the support waypoint, if any
+.entity goalentity;
+#define SUPPORT_WP goalentity
+
/*
* Functions
*/
void waypoint_clearlinks(entity wp);
void waypoint_schedulerelink(entity wp);
+float waypoint_get_assigned_link_cost(entity w, float i);
+
float waypoint_getlinkcost(entity from, entity to);
float waypoint_gettravelcost(vector from, vector to, entity from_ent, entity to_ent);
float waypoint_getlinearcost(float dist);
bool waypoint_load_links();
void waypoint_load_hardwiredlinks();
-void waypoint_spawn_fromeditor(entity pl, bool at_crosshair, bool is_jump_wp, bool is_crouch_wp);
+void waypoint_spawn_fromeditor(entity pl, bool at_crosshair, bool is_jump_wp, bool is_crouch_wp, bool is_support_wp);
entity waypoint_spawn(vector m1, vector m2, float f);
entity waypoint_spawnpersonal(entity this, vector position);