]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/g_world.qc
Replace usages of mod() with the operator %
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / g_world.qc
index 019d0a2169dbfa0baea915e2a152e9e3b6af4fa7..0fd5d2de3c2eee8f0e2a8076f22ee753b6965992 100644 (file)
@@ -41,7 +41,7 @@ void PingPLReport_Think()
                WriteByte(MSG_BROADCAST, 0);
                WriteByte(MSG_BROADCAST, 0);
        }
-       self.cnt = mod(self.cnt + 1, maxclients);
+       self.cnt = (self.cnt + 1) % maxclients;
 }
 void PingPLReport_Spawn()
 {
@@ -81,32 +81,6 @@ void SetDefaultAlpha()
        }
 }
 
-void fteqcc_testbugs()
-{
-       float a, b;
-
-       if(!autocvar_developer_fteqccbugs)
-               return;
-
-       dprint("*** fteqcc test: checking for bugs...\n");
-
-       a = 1;
-       b = 5;
-       if(sqrt(a) - sqrt(b - a) == 0)
-               dprint("*** fteqcc test: found same-function-twice bug\n");
-       else
-               dprint("*** fteqcc test: same-function-twice bug got FINALLY FIXED! HOORAY!\n");
-
-       world.cnt = -10;
-       world.enemy = world;
-       world.enemy.cnt += 10;
-       if(world.cnt > 0.2 || world.cnt < -0.2) // don't error out if it's just roundoff errors
-               dprint("*** fteqcc test: found += bug\n");
-       else
-               dprint("*** fteqcc test: += bug got FINALLY FIXED! HOORAY!\n");
-       world.cnt = 0;
-}
-
 void GotoFirstMap()
 {
        float n;
@@ -572,8 +546,6 @@ void spawnfunc_worldspawn (void)
 
        remove = remove_safely; // during spawning, watch what you remove!
 
-       check_unacceptable_compiler_bugs();
-
        cvar_changes_init(); // do this very early now so it REALLY matches the server config
 
        compressShortVector_init();
@@ -647,7 +619,7 @@ void spawnfunc_worldspawn (void)
 
        Map_MarkAsRecent(mapname);
 
-       PlayerStats_Init(); // we need this to be initiated before InitGameplayMode
+       PlayerStats_GameReport_Init(); // we need this to be initiated before InitGameplayMode
 
        precache_model ("null"); // we need this one before InitGameplayMode
        InitGameplayMode();
@@ -722,8 +694,6 @@ void spawnfunc_worldspawn (void)
        if(autocvar_g_campaign)
                CampaignPostInit();
 
-       fteqcc_testbugs();
-
        Ban_LoadBans();
 
        MapInfo_Enumerate();
@@ -785,6 +755,7 @@ void spawnfunc_worldspawn (void)
        addstat(STAT_WEAPON_CLIPLOAD, AS_INT, clip_load);
        addstat(STAT_WEAPON_CLIPSIZE, AS_INT, clip_size);
        addstat(STAT_LAST_PICKUP, AS_FLOAT, last_pickup);
+       addstat(STAT_HIT_TIME, AS_FLOAT, hit_time);
        addstat(STAT_DAMAGE_DEALT_TOTAL, AS_INT, damage_dealt_total);
        addstat(STAT_TYPEHIT_TIME, AS_FLOAT, typehit_time);
        addstat(STAT_LAYED_MINES, AS_INT, minelayer_mines);
@@ -1065,7 +1036,7 @@ float() MaplistMethod_Iterate = // usual method
                for(i = 1; i < Map_Count; ++i)
                {
                        float mapindex;
-                       mapindex = mod(i + Map_Current, Map_Count);
+                       mapindex = (i + Map_Current) % Map_Count;
                        if(Map_Check(mapindex, pass))
                                return mapindex;
                }
@@ -1093,7 +1064,7 @@ float() MaplistMethod_Random = // random map selection
        for(i = 0; i <= imax; ++i)
        {
                float mapindex;
-               mapindex = mod(Map_Current + floor(random() * (Map_Count - 1) + 1), Map_Count); // any OTHER map
+               mapindex = (Map_Current + floor(random() * (Map_Count - 1) + 1)) % Map_Count; // any OTHER map
                if(Map_Check(mapindex, 1))
                        return mapindex;
        }
@@ -1529,11 +1500,7 @@ void NextLevel()
        DumpStats(TRUE);
 
        // send statistics
-       entity e;
-       PlayerStats_EndMatch(1);
-       FOR_EACH_CLIENT(e)
-               PlayerStats_AddGlobalInfo(e);
-       PlayerStats_Shutdown();
+       PlayerStats_GameReport(TRUE);
        WeaponStats_Shutdown();
 
        Kill_Notification(NOTIF_ALL, world, MSG_CENTER, 0); // kill all centerprints now
@@ -2237,21 +2204,13 @@ void EndFrame()
        float altime;
        FOR_EACH_REALCLIENT(self)
        {
-               self.damage_dealt_total = 0;
-       
-               if(IS_SPEC(self))
+               entity e = IS_SPEC(self) ? self.enemy : self;
+               if(e.typehitsound)
+                       self.typehit_time = time;
+               else if(e.damage_dealt)
                {
-                       if(self.enemy.typehitsound)
-                               self.typehit_time = time;
-                       else if(self.enemy.damage_dealt)
-                               self.damage_dealt_total = ceil(self.enemy.damage_dealt);
-               }
-               else
-               {
-                       if(self.typehitsound)
-                               self.typehit_time = time;
-                       else if(self.damage_dealt)
-                               self.damage_dealt_total = ceil(self.damage_dealt);
+                       self.hit_time = time;
+                       self.damage_dealt_total += ceil(e.damage_dealt);
                }
        }
        altime = time + frametime * (1 + autocvar_g_antilag_nudge);
@@ -2339,8 +2298,6 @@ void RestoreGame()
 
 void Shutdown()
 {
-       entity e;
-
        gameover = 2;
 
        if(world_initialized > 0)
@@ -2349,10 +2306,8 @@ void Shutdown()
                print("Saving persistent data...\n");
                Ban_SaveBans();
 
-               PlayerStats_EndMatch(0);
-               FOR_EACH_CLIENT(e)
-                       PlayerStats_AddGlobalInfo(e);
-               PlayerStats_Shutdown();
+               // playerstats with unfinished match
+               PlayerStats_GameReport(FALSE);
 
                if(!cheatcount_total)
                {