X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fbot%2Fdefault%2Fwaypoints.qh;h=bea11e9299986ce180765f09a520e37c8295f6de;hb=5c01c086b09002135f17404f9b542823feede29e;hp=1d3554f858b288478f7fffc4c5e1fe815c84047f;hpb=5a356ff39bd87af74db73b8fc36cc9613e60f2e7;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/bot/default/waypoints.qh b/qcsrc/server/bot/default/waypoints.qh index 1d3554f85..bea11e929 100644 --- a/qcsrc/server/bot/default/waypoints.qh +++ b/qcsrc/server/bot/default/waypoints.qh @@ -3,6 +3,11 @@ * Globals and Fields */ +// 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 +#define WAYPOINT_VERSION 1.00 + // fields you can query using prvm_global server to get some statistics about waypoint linking culling float relink_total, relink_walkculled, relink_pvsculled, relink_lengthculled; @@ -39,25 +44,27 @@ void waypoint_clearlinks(entity wp); void waypoint_schedulerelink(entity wp); float waypoint_getlinkcost(entity from, entity to); -float waypoint_getdistancecost(vector v1, vector v2); -float waypoint_getdistancecost_simple(float dist); +float waypoint_gettravelcost(vector from, vector to, entity from_ent, entity to_ent); +float waypoint_getlinearcost(float dist); void waypoint_updatecost_foralllinks(); void waypoint_remove_fromeditor(entity pl); void waypoint_remove(entity wp); void waypoint_schedulerelinkall(); -void waypoint_load_links_hardwired(); void waypoint_save_links(); void waypoint_saveall(); void waypoint_spawnforitem_force(entity e, vector org); void waypoint_spawnforitem(entity e); -void waypoint_spawnforteleporter(entity e, vector destination, float timetaken); -void waypoint_spawnforteleporter_v(entity e, vector org, vector destination, float timetaken); +void waypoint_spawnforteleporter(entity e, vector destination, float timetaken, entity tracetest_ent); +void waypoint_spawnforteleporter_wz(entity e, vector org, vector destination, float timetaken, vector down_dir, entity tracetest_ent); void botframe_showwaypointlinks(); float waypoint_loadall(); bool waypoint_load_links(); +#define waypoint_load_links_hardwired() waypoint_load_or_remove_links_hardwired(false) +#define waypoint_remove_links_hardwired() waypoint_load_or_remove_links_hardwired(true) +void waypoint_load_or_remove_links_hardwired(bool removal_mode); void waypoint_spawn_fromeditor(entity pl); entity waypoint_spawn(vector m1, vector m2, float f); @@ -65,6 +72,6 @@ entity waypoint_spawnpersonal(entity this, vector position); void waypoint_unreachable(entity pl); -vector waypoint_fixorigin(vector position); +vector waypoint_fixorigin_down_dir(vector position, entity tracetest_ent, vector down_dir); void botframe_autowaypoints();