]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add cl_autodemo_delete_keepmatches cvar
authork9er <k9wolf@pm.me>
Tue, 8 Oct 2024 18:12:57 +0000 (18:12 +0000)
committerterencehill <piuntn@gmail.com>
Tue, 8 Oct 2024 18:12:57 +0000 (18:12 +0000)
Similar to `cl_autodemo_delete_keeprecords`, doesn't delete any demos where the player joined the match. Useful for non-race non-cts gamemodes.

qcsrc/client/main.qc
qcsrc/client/main.qh
qcsrc/common/gamemodes/gamemode/race/cl_race.qh
xonotic-client.cfg

index 9cf0185ed268b7d01e4bdbe35b4221ab3d4b72f2..85c7a9a05f2d7f63bd6d3e1665a1a0c31e2164ee 100644 (file)
@@ -905,6 +905,14 @@ NET_HANDLE(ENT_CLIENT_SPAWNEVENT, bool is_new)
        // local spawn actions
        if(is_new && (!entnum || (entnum == player_localentnum)))
        {
+               if(!spectatee_status)
+               if(autocvar_cl_autodemo_delete_keepmatches >= 2 || (!warmup_stage && autocvar_cl_autodemo_delete_keepmatches == 1))
+               {
+                       float del = autocvar_cl_autodemo_delete;
+                       del &= ~1;
+                       cvar_set("cl_autodemo_delete", ftos(del)); // don't delete demo where the player joined the match
+               }
+
                if(autocvar_cl_spawnzoom && !autocvar_cl_lockview)
                {
                        zoomin_effect = 1;
index 8b96b0833e2a9229931b05ca8519d4513c57ec98..6ecc2e036973fe2afb5f848ab6cb1e470386c1ac 100644 (file)
@@ -30,6 +30,8 @@ AUTOCVAR_SAVE(cl_race_checkpoint_splits_hud, bool, 1, "Show race checkpoint spli
 bool autocvar_cl_race_cptimes_onlyself; // TODO: move to race gamemode
 bool autocvar_cl_race_cptimes_showself = false;
 bool autocvar_cl_welcome = true;
+bool autocvar_cl_autodemo_delete;
+bool autocvar_cl_autodemo_delete_keepmatches;
 bool autocvar_menu_gamemenu = true;
 
 // Map coordinate base calculations need these
index 43d16b0a51fe0734b3e1883f7ca9f382bd972a02..b6765e90999285c9d6b7956f3201552090917fec 100644 (file)
@@ -1,6 +1,5 @@
 #pragma once
 
-bool autocvar_cl_autodemo_delete;
 bool autocvar_cl_autodemo_delete_keeprecords;
 
 void HUD_Mod_Race(vector pos, vector mySize);
index 0abbcd72bd3f49cc42f339bb47d3bb4cb2ceb3af..7872f40c178c618976df5bcc226bf0a46f46e341 100644 (file)
@@ -822,7 +822,8 @@ set cl_lerpanim_maxdelta_framegroups 0.05 // must be faster than fastest weapon
 set cl_lerpanim_maxdelta_server 0.1 // must be slower than slowest server controlled anim (e.g. animinfo stuff)
 
 // autodemo deleting
-seta cl_autodemo_delete_keeprecords 0 "when 1, records with a newly made race/cts demo are kept even if cl_autodemo_delete is used to delete demos"
+seta cl_autodemo_delete_keeprecords 0 "keep demos with a newly made Race/CTS record even if cl_autodemo_delete is used to delete demos"
+seta cl_autodemo_delete_keepmatches 0 "keep demos of matches you join even if cl_autodemo_delete is used to delete demos, 2 = even if you only joined during warmup"
 
 // freeze camera
 set cl_lockview 0 "when 1, the camera does not move any more; when 2, you can only control camera angles"