]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Accept bounds for random location
authorMario <zacjardine@y7mail.com>
Tue, 29 Sep 2015 08:28:09 +0000 (18:28 +1000)
committerMario <zacjardine@y7mail.com>
Tue, 29 Sep 2015 08:28:09 +0000 (18:28 +1000)
qcsrc/server/miscfunctions.qc
qcsrc/server/miscfunctions.qh

index bcba19e30ab170e7223e2f0ac11629dcbaceac46..0a4108a8e94d5783e6622fd829577319be58f4a9 100644 (file)
@@ -1432,7 +1432,7 @@ string uid2name(string myuid) {
        return s;
 }
 
-float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance)
+float MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance)
 {
     float m, i;
     vector start, org, delta, end, enddown, mstart;
@@ -1441,8 +1441,8 @@ float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, f
     m = e.dphitcontentsmask;
     e.dphitcontentsmask = goodcontents | badcontents;
 
-    org = world.mins;
-    delta = world.maxs - world.mins;
+    org = boundmin;
+    delta = boundmax - boundmin;
 
     start = end = org;
 
@@ -1543,6 +1543,11 @@ float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, f
         return false;
 }
 
+float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance)
+{
+       return MoveToRandomLocationWithinBounds(e, world.mins, world.maxs, goodcontents, badcontents, badsurfaceflags, attempts, maxaboveground, minviewdistance);
+}
+
 void write_recordmarker(entity pl, float tstart, float dt)
 {
     GameLogEcho(strcat(":recordset:", ftos(pl.playerid), ":", ftos(dt)));
index 37e9073f3d084b97ea9f39e247c082cc7a468084..fc3583bb16bc6824dd5c0f4fce6638af8e631c13 100644 (file)
@@ -106,6 +106,8 @@ float LostMovetypeFollow(entity ent);
 
 string uid2name(string myuid);
 
+float MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance);
+
 float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance);
 
 string NearestLocation(vector p);