]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/miscfunctions.qc
Merge remote-tracking branch 'origin/terencehill/fexists'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / miscfunctions.qc
index 364c925991a893ccb2a75749cb57d9bd8a573104..0602ed9d87b3f436234bb0e681333d6a4f17491b 100644 (file)
@@ -236,6 +236,7 @@ void relocate_spawnpoint()
     if (have_team_spawns != 0)
         if (self.team)
             have_team_spawns = 1;
+    have_team_spawns_forteam[self.team] = 1;
 
     if (autocvar_r_showbboxes)
     {
@@ -459,11 +460,6 @@ string formatmessage(string msg)
                        replacement = cursor_ent.netname;
                        if (!replacement || !cursor_ent)
                                replacement = "nothing";
-               } else if (escape == "p") {
-                       if (self.last_selected_player)
-                               replacement = self.last_selected_player.netname;
-                       else
-                               replacement = "(nobody)";
                } else if (escape == "s")
                        replacement = ftos(vlen(self.velocity - self.velocity_z * '0 0 1'));
                else if (escape == "S")
@@ -584,7 +580,6 @@ void GetCvars(float f)
        GetCvars_handleFloat(s, f, autoswitch, "cl_autoswitch");
        GetCvars_handleFloat(s, f, cvar_cl_playerdetailreduction, "cl_playerdetailreduction");
        GetCvars_handleFloat(s, f, cvar_scr_centertime, "scr_centertime");
-       GetCvars_handleFloat(s, f, cvar_cl_shownames, "cl_shownames");
        GetCvars_handleString(s, f, cvar_g_xonoticversion, "g_xonoticversion");
        GetCvars_handleFloat(s, f, cvar_cl_handicap, "cl_handicap");
        GetCvars_handleString_Fixup(s, f, cvar_cl_weaponpriority, "cl_weaponpriority", W_FixWeaponOrder_ForceComplete_AndBuildImpulseList);
@@ -625,16 +620,6 @@ void GetCvars(float f)
        }
 }
 
-float fexists(string f)
-{
-    float fh;
-    fh = fopen(f, FILE_READ);
-    if (fh < 0)
-        return FALSE;
-    fclose(fh);
-    return TRUE;
-}
-
 void backtrace(string msg)
 {
     float dev, war;
@@ -921,7 +906,11 @@ void readplayerstartcvars()
                        s = "most";
        }
 
-       if (s == "off")
+       if (s == "0" || s == "")
+       {
+               // no arena
+       }
+       else if (s == "off")
        {
                // forcibly turn off weaponarena
        }
@@ -1022,23 +1011,11 @@ void readplayerstartcvars()
        }
        else if(start_items & IT_UNLIMITED_WEAPON_AMMO)
        {
-               for (j = WEP_FIRST; j <= WEP_LAST; ++j)
-               {
-                       e = get_weaponinfo(j);
-                       if(start_weapons & e.weapons)
-                       {
-                               if(e.items & IT_ROCKETS)
-                                       start_ammo_rockets = 999;
-                               if(e.items & IT_SHELLS)
-                                       start_ammo_shells = 999;
-                               if(e.items & IT_CELLS)
-                                       start_ammo_cells = 999;
-                               if(e.items & IT_NAILS)
-                                       start_ammo_nails = 999;
-                               if(e.items & IT_FUEL)
-                                       start_ammo_fuel = 999;
-                       }
-               }
+               start_ammo_rockets = 999;
+               start_ammo_shells = 999;
+               start_ammo_cells = 999;
+               start_ammo_nails = 999;
+               start_ammo_fuel = 999;
        }
        else
        {
@@ -1664,6 +1641,7 @@ void precache()
     precache_model ("models/sprites/10.spr32");
 
     // common weapon precaches
+       precache_sound ("weapons/reload.wav"); // until weapons have individual reload sounds, precache the reload sound here
     precache_sound ("weapons/weapon_switch.wav");
     precache_sound ("weapons/weaponpickup.wav");
     precache_sound ("weapons/unavailable.wav");
@@ -2007,7 +1985,8 @@ float SUB_NoImpactCheck()
        // these stop the projectile from moving, so...
        if(trace_dphitcontents == 0)
        {
-               dprint("A hit happened with zero hit contents... DEBUG THIS, this should never happen for projectiles! Projectile will self-destruct.\n");
+               //dprint("A hit happened with zero hit contents... DEBUG THIS, this should never happen for projectiles! Projectile will self-destruct.\n");
+               dprint(sprintf(_("A hit from a projectile happened with no hit contents! DEBUG THIS, this should never happen for projectiles! Profectile will self-destruct. (edict: %d, classname: %s, origin: %s)\n"), num_for_edict(self), self.classname, vtos(self.origin)));
                checkclient();
        }
     if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)