// (suitable for spawnfunc_waypoint editor)
entity waypoint_spawn(vector m1, vector m2, float f)
{
- local entity w;
+ entity w;
w = find(world, classname, "waypoint");
if not(f & WAYPOINTFLAG_PERSONAL)
// add a new link to the spawnfunc_waypoint, replacing the furthest link it already has
void waypoint_addlink(entity from, entity to)
{
- local float c;
+ float c;
if (from == to)
return;
{
// if either is a box we have to find the nearest points on them to
// calculate the distance properly
- local vector v1, v2, m1, m2;
+ vector v1, v2, m1, m2;
v1 = from.origin;
m1 = to.absmin;
m2 = to.absmax;
// (SLOW!)
void waypoint_think()
{
- local entity e;
- local vector sv, sm1, sm2, ev, em1, em2, dv;
+ entity e;
+ vector sv, sm1, sm2, ev, em1, em2, dv;
bot_calculate_stepheightvec();
void waypoint_clearlinks(entity wp)
{
// clear links to other waypoints
- local float f;
+ float f;
f = 10000000;
wp.wp00 = wp.wp01 = wp.wp02 = wp.wp03 = wp.wp04 = wp.wp05 = wp.wp06 = wp.wp07 = world;
wp.wp08 = wp.wp09 = wp.wp10 = wp.wp11 = wp.wp12 = wp.wp13 = wp.wp14 = wp.wp15 = world;
// TODO: add some sort of visible box in edit mode for box waypoints
if (autocvar_g_waypointeditor)
{
- local vector m1, m2;
+ vector m1, m2;
m1 = wp.mins;
m2 = wp.maxs;
setmodel(wp, "models/runematch/rune.mdl"); wp.effects = EF_LOWPRECISION;
// empties the map of waypoints
void waypoint_removeall()
{
- local entity head, next;
+ entity head, next;
head = findchain(classname, "waypoint");
while (head)
{
// (is this useful at all?)
void waypoint_schedulerelinkall()
{
- local entity head;
+ entity head;
relink_total = relink_walkculled = relink_pvsculled = relink_lengthculled = 0;
head = findchain(classname, "waypoint");
while (head)
// Load waypoint links from file
float waypoint_load_links()
{
- local string filename, s;
- local float file, tokens, c, found;
- local entity wp_from, wp_to;
- local vector wp_to_pos, wp_from_pos;
+ string filename, s;
+ float file, tokens, c, found;
+ entity wp_from, wp_to;
+ vector wp_to_pos, wp_from_pos;
filename = strcat("maps/", mapname);
filename = strcat(filename, ".waypoints.cache");
file = fopen(filename, FILE_READ);
void waypoint_load_links_hardwired()
{
- local string filename, s;
- local float file, tokens, c, found;
- local entity wp_from, wp_to;
- local vector wp_to_pos, wp_from_pos;
+ string filename, s;
+ float file, tokens, c, found;
+ entity wp_from, wp_to;
+ vector wp_to_pos, wp_from_pos;
filename = strcat("maps/", mapname);
filename = strcat(filename, ".waypoints.hardwired");
file = fopen(filename, FILE_READ);
// Save all waypoint links to a file
void waypoint_save_links()
{
- local string filename, s;
- local float file, c, i;
- local entity w, link;
+ string filename, s;
+ float file, c, i;
+ entity w, link;
filename = strcat("maps/", mapname);
filename = strcat(filename, ".waypoints.cache");
file = fopen(filename, FILE_WRITE);
// save waypoints to gamedir/data/maps/mapname.waypoints
void waypoint_saveall()
{
- local string filename, s;
- local float file, c;
- local entity w;
+ string filename, s;
+ float file, c;
+ entity w;
filename = strcat("maps/", mapname);
filename = strcat(filename, ".waypoints");
file = fopen(filename, FILE_WRITE);
// load waypoints from file
float waypoint_loadall()
{
- local string filename, s;
- local float file, cwp, cwb, fl;
- local vector m1, m2;
+ string filename, s;
+ float file, cwp, cwb, fl;
+ vector m1, m2;
cwp = 0;
cwb = 0;
filename = strcat("maps/", mapname);
void waypoint_spawnforitem_force(entity e, vector org)
{
- local entity w;
+ entity w;
// Fix the waypoint altitude if necessary
org = waypoint_fixorigin(org);
void waypoint_spawnforteleporter_boxes(entity e, vector org1, vector org2, vector destination1, vector destination2, float timetaken)
{
- local entity w;
- local entity dw;
+ entity w;
+ entity dw;
w = waypoint_spawn(org1, org2, WAYPOINTFLAG_GENERATED | WAYPOINTFLAG_TELEPORT | WAYPOINTFLAG_NORELINK);
dw = waypoint_spawn(destination1, destination2, WAYPOINTFLAG_GENERATED);
// one way link to the destination
void botframe_showwaypointlinks()
{
- local entity player, head, w;
+ entity player, head, w;
if (time < botframe_waypointeditorlightningtime)
return;
botframe_waypointeditorlightningtime = time + 0.5;