]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge breaking changes for 0.8.5 into 'master'
authorbones_was_here <bones_was_here@xa.org.au>
Fri, 17 Jun 2022 16:47:44 +0000 (16:47 +0000)
committerbones_was_here <bones_was_here@xa.org.au>
Fri, 17 Jun 2022 16:47:44 +0000 (16:47 +0000)
Closes #2434

See merge request xonotic/xonotic-data.pk3dir!1008

1  2 
qcsrc/server/world.qc

diff --combined qcsrc/server/world.qc
index 47d2dfaa78d98c309cf5d28507bd477cd2dd5b59,55195217250186bf498db837ac07b236503f3d1b..1c589e5f00e7ae62fb915649b31dfeb0e5040902
@@@ -277,7 -277,6 +277,6 @@@ void cvar_changes_init(
                BADCVAR("g_duel_not_dm_maps");
                BADCVAR("g_freezetag");
                BADCVAR("g_freezetag_teams");
-               BADCVAR("g_invasion_teams");
                BADCVAR("g_invasion_type");
                BADCVAR("g_jailbreak");
                BADCVAR("g_jailbreak_teams");
                BADPREFIX("sv_timeout_");
                BADPREFIX("sv_vote_");
                BADPREFIX("timelimit_");
 +              BADPRESUFFIX("g_", "_round_timelimit");
  
                // allowed changes to server admins (please sync this to server.cfg)
                // vi commands:
@@@ -1001,7 -999,7 +1000,7 @@@ spawnfunc(light
        delete(this);
  }
  
- bool MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, int attempts, float maxaboveground, float minviewdistance)
+ bool MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, int attempts, float maxaboveground, float minviewdistance, bool frompos)
  {
      float m = e.dphitcontentsmask;
      e.dphitcontentsmask = goodcontents | badcontents;
              continue;
  
                // rule 4: we must "see" some spawnpoint or item
-           entity sp = NULL;
-           IL_EACH(g_spawnpoints, checkpvs(mstart, it),
-           {
-               if((traceline(mstart, it.origin, MOVE_NORMAL, e), trace_fraction) >= 1)
-               {
-                       sp = it;
-                       break;
-               }
-           });
+               entity sp = NULL;
+               if(frompos)
+               {
+                       if((traceline(mstart, e.origin, MOVE_NORMAL, e), trace_fraction) >= 1)
+                               sp = e;
+               }
+               if(!sp)
+               {
+                       IL_EACH(g_spawnpoints, checkpvs(mstart, it),
+                       {
+                               if((traceline(mstart, it.origin, MOVE_NORMAL, e), trace_fraction) >= 1)
+                               {
+                                       sp = it;
+                                       break;
+                               }
+                       });
+               }
                if(!sp)
                {
                        int items_checked = 0;
  
  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);
+       return MoveToRandomLocationWithinBounds(e, world.mins, world.maxs, goodcontents, badcontents, badsurfaceflags, attempts, maxaboveground, minviewdistance, false);
  }
  
  /*