X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fbot%2Fdefault%2Fwaypoints.qc;h=0f8999a8d17f7cbb5c58017a28096c31b4178b9a;hb=bd45cc15239a9856a2a3813ec1b7b8790345ccc9;hp=efcd5ba3731243acd0260c36d43c0e451d856829;hpb=29fae4d9d59e5ec8afbdd6ef0ebcc5dcdc1bfa3f;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/bot/default/waypoints.qc b/qcsrc/server/bot/default/waypoints.qc index efcd5ba37..0f8999a8d 100644 --- a/qcsrc/server/bot/default/waypoints.qc +++ b/qcsrc/server/bot/default/waypoints.qc @@ -10,10 +10,32 @@ #include "../../antilag.qh" #include +#include #include #include +void waypoint_setupmodel(entity wp) +{ + if (autocvar_g_waypointeditor) + { + // TODO: add some sort of visible box in edit mode for box waypoints + vector m1 = wp.mins; + vector m2 = wp.maxs; + setmodel(wp, MDL_WAYPOINT); + setsize(wp, m1, m2); + wp.effects = EF_LOWPRECISION; + if (wp.wpflags & WAYPOINTFLAG_ITEM) + wp.colormod = '1 0 0'; + else if (wp.wpflags & WAYPOINTFLAG_GENERATED) + wp.colormod = '1 1 0'; + else + wp.colormod = '1 1 1'; + } + else + wp.model = ""; +} + // create a new spawnfunc_waypoint and automatically link it to other waypoints, and link // them back to it as well // (suitable for spawnfunc_waypoint editor) @@ -34,7 +56,7 @@ entity waypoint_spawn(vector m1, vector m2, float f) w.solid = SOLID_TRIGGER; setorigin(w, (m1 + m2) * 0.5); setsize(w, m1 - w.origin, m2 - w.origin); - if (vlen(w.size) > 0) + if (w.size) w.wpisbox = true; if(!w.wpisbox) @@ -63,21 +85,7 @@ entity waypoint_spawn(vector m1, vector m2, float f) waypoint_clearlinks(w); //waypoint_schedulerelink(w); - if (autocvar_g_waypointeditor) - { - m1 = w.mins; - m2 = w.maxs; - setmodel(w, MDL_WAYPOINT); w.effects = EF_LOWPRECISION; - setsize(w, m1, m2); - if (w.wpflags & WAYPOINTFLAG_ITEM) - w.colormod = '1 0 0'; - else if (w.wpflags & WAYPOINTFLAG_GENERATED) - w.colormod = '1 1 0'; - else - w.colormod = '1 1 1'; - } - else - w.model = ""; + waypoint_setupmodel(w); return w; } @@ -263,24 +271,9 @@ void waypoint_schedulerelink(entity wp) { if (wp == NULL) return; - // TODO: add some sort of visible box in edit mode for box waypoints - if (autocvar_g_waypointeditor) - { - vector m1, m2; - m1 = wp.mins; - m2 = wp.maxs; - setmodel(wp, MDL_WAYPOINT); wp.effects = EF_LOWPRECISION; - setsize(wp, m1, m2); - if (wp.wpflags & WAYPOINTFLAG_ITEM) - wp.colormod = '1 0 0'; - else if (wp.wpflags & WAYPOINTFLAG_GENERATED) - wp.colormod = '1 1 0'; - else - wp.colormod = '1 1 1'; - } - else - wp.model = ""; - wp.wpisbox = vlen(wp.size) > 0; + + waypoint_setupmodel(wp); + wp.wpisbox = vdist(wp.size, >, 0); wp.enemy = NULL; if (!(wp.wpflags & WAYPOINTFLAG_PERSONAL)) wp.owner = NULL;