]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_parse.c
added svc_pointparticles1 for next protocol bump (uses 15 bytes instead
[xonotic/darkplaces.git] / cl_parse.c
index 4d7c814188acd9ef3313925a9ac06fbe4d7b144d..7c0dac208cc72daecf7ea9cf22e10d7d0e1f2eb3 100644 (file)
@@ -2539,6 +2539,15 @@ void CL_ParsePointParticles(void)
        CL_ParticleEffect(effectindex, count, origin, origin, velocity, velocity, NULL, 0);
 }
 
+void CL_ParsePointParticles1(void)
+{
+       int effectindex;
+       vec3_t origin;
+       effectindex = (unsigned short)MSG_ReadShort();
+       MSG_ReadVector(origin, cls.protocol);
+       CL_ParticleEffect(effectindex, 1, origin, origin, vec3_origin, vec3_origin, NULL, 0);
+}
+
 typedef struct cl_iplog_item_s
 {
        char *address;
@@ -2833,12 +2842,13 @@ extern cvar_t slowmo;
 static void CL_NetworkTimeReceived(double newtime)
 {
        double timehigh;
-       cl.mtime[1] = max(cl.mtime[0], newtime - 0.1);
+       cl.mtime[1] = cl.mtime[0];
        cl.mtime[0] = newtime;
        if (cls.timedemo || (cl.islocalgame && !sv_fixedframeratesingleplayer.integer) || cl.mtime[1] == cl.mtime[0] || cls.signon < SIGNONS)
                cl.time = cl.mtime[1] = newtime;
        else if (cls.protocol != PROTOCOL_QUAKEWORLD && !cls.demoplayback)
        {
+               cl.mtime[1] = max(cl.mtime[1], cl.mtime[0] - 0.1);
                if (developer.integer >= 100 && vid_activewindow)
                {
                        if (cl.time < cl.mtime[1] - (cl.mtime[0] - cl.mtime[1]))
@@ -3713,6 +3723,9 @@ void CL_ParseServerMessage(void)
                        case svc_pointparticles:
                                CL_ParsePointParticles();
                                break;
+                       case svc_pointparticles1:
+                               CL_ParsePointParticles1();
+                               break;
                        }
                }
        }