demo deleting: switch the meaning of the values 2 and 3 in cl_autodemo_delete, so...
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 4 May 2010 11:08:40 +0000 (11:08 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 4 May 2010 11:08:40 +0000 (11:08 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10171 d7cf8633-e32d-0410-b094-e92efae38249

cl_demo.c
cl_main.c
cl_parse.c

index 7b678b7..4da12fb 100644 (file)
--- a/cl_demo.c
+++ b/cl_demo.c
@@ -306,7 +306,7 @@ void CL_Stop_f (void)
        CL_WriteDemoMessage(&buf);
 
 // finish up
-       if (cl_autodemo.integer && ((cl_autodemo_delete.integer & 1) ^ ((cl_autodemo_delete.integer >> 1) & 1))) // bit 0 XOR bit 1
+       if(cl_autodemo.integer && (cl_autodemo_delete.integer & 1))
        {
                FS_RemoveOnClose(cls.demofile);
                Con_Print("Completed and deleted demo\n");
index a254ca5..357250e 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -57,7 +57,7 @@ cvar_t freelook = {CVAR_SAVE, "freelook", "1","mouse controls pitch instead of f
 
 cvar_t cl_autodemo = {CVAR_SAVE, "cl_autodemo", "0", "records every game played, using the date/time and map name to name the demo file" };
 cvar_t cl_autodemo_nameformat = {CVAR_SAVE, "cl_autodemo_nameformat", "autodemos/%Y-%m-%d_%H-%M", "The format of the cl_autodemo filename, followed by the map name (the date is encoded using strftime escapes)" };
-cvar_t cl_autodemo_delete = {0, "cl_autodemo_delete", "0", "Delete demos after recording.  This is a bitmask, bit 1 gives the default, bit 0 inverts the meaning of bit 1 for the current demo.  Thus, the values are: 0 = disabled; 1 = delete current demo only; 2 = delete all demos from this point on; 3 = delete all demos except the current demo" };
+cvar_t cl_autodemo_delete = {0, "cl_autodemo_delete", "0", "Delete demos after recording.  This is a bitmask, bit 1 gives the default, bit 0 the value for the current demo.  Thus, the values are: 0 = disabled; 1 = delete current demo only; 2 = delete all demos except the current demo; 3 = delete all demos from now on" };
 
 cvar_t r_draweffects = {0, "r_draweffects", "1","renders temporary sprite effects"};
 
index 2adedb0..63d49ab 100644 (file)
@@ -1828,8 +1828,12 @@ void CL_ParseServerInfo (void)
 
                Con_Printf ("Auto-recording to %s.\n", demofile);
 
-               // Clear the invert flag for every new demo
-               Cvar_SetValueQuick(&cl_autodemo_delete, cl_autodemo_delete.integer & ~0x1);
+               // Reset bit 0 for every new demo
+               Cvar_SetValueQuick(&cl_autodemo_delete,
+                       (cl_autodemo_delete.integer & ~0x1)
+                       |
+                       ((cl_autodemo_delete.integer & 0x2) ? 0x1 : 0)
+               );
 
                cls.demofile = FS_OpenRealFile(demofile, "wb", false);
                if (cls.demofile)