]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
cl_nettimesyncboundmode: use default if invalid
authorbones_was_here <bones_was_here@xonotic.au>
Fri, 24 Nov 2023 05:18:57 +0000 (15:18 +1000)
committerbones_was_here <bones_was_here@xonotic.au>
Sat, 9 Dec 2023 10:13:32 +0000 (20:13 +1000)
Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
cl_parse.c

index d0f39723ba39fa43dea4ffd4ea78cb8dbe5e5708..374b6ed6a564f61a2b68cbdb992123265659e947 100644 (file)
@@ -3307,27 +3307,32 @@ static void CL_NetworkTimeReceived(double newtime)
                                Con_DPrintf("--- cl.time > cl.mtime[0] (%f > %f ... %f)\n", cl.time, cl.mtime[1], cl.mtime[0]);
                }
 
-               if (cl_nettimesyncboundmode.integer < 4)
-               {
-                       // doesn't make sense for modes > 3
-                       cl.time += (cl.mtime[1] - cl.time) * bound(0, cl_nettimesyncfactor.value, 1);
-                       timehigh = cl.mtime[1] + (cl.mtime[0] - cl.mtime[1]) * cl_nettimesyncboundtolerance.value;
-               }
-
+selectmode:
                switch (cl_nettimesyncboundmode.integer)
                {
+               default:
+                       Cvar_SetQuick(&cl_nettimesyncboundmode, cl_nettimesyncboundmode.defstring);
+                       goto selectmode;
                case 1:
-                       cl.time = bound(cl.mtime[1], cl.time, cl.mtime[0]);
-                       break;
-
                case 2:
-                       if (cl.time < cl.mtime[1] || cl.time > timehigh)
-                               cl.time = cl.mtime[1];
-                       break;
-
                case 3:
-                       if ((cl.time < cl.mtime[1] && cl.oldtime < cl.mtime[1]) || (cl.time > timehigh && cl.oldtime > timehigh))
-                               cl.time = cl.mtime[1];
+                       // doesn't make sense for modes > 3
+                       cl.time += (cl.mtime[1] - cl.time) * bound(0, cl_nettimesyncfactor.value, 1);
+                       timehigh = cl.mtime[1] + (cl.mtime[0] - cl.mtime[1]) * cl_nettimesyncboundtolerance.value;
+                       switch (cl_nettimesyncboundmode.integer)
+                       {
+                       case 1:
+                               cl.time = bound(cl.mtime[1], cl.time, cl.mtime[0]);
+                               break;
+                       case 2:
+                               if (cl.time < cl.mtime[1] || cl.time > timehigh)
+                                       cl.time = cl.mtime[1];
+                               break;
+                       case 3:
+                               if ((cl.time < cl.mtime[1] && cl.oldtime < cl.mtime[1]) || (cl.time > timehigh && cl.oldtime > timehigh))
+                                       cl.time = cl.mtime[1];
+                               break;
+                       }
                        break;
 
                case 4: