]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_parse.c
391 (-2)
[xonotic/darkplaces.git] / cl_parse.c
index 0230773107435e6f944cad655a4bc4c8422b4caf..ecbe8f2bf621ffc593e3a692c5bfe82522418e17 100644 (file)
@@ -676,8 +676,8 @@ void CL_ParseClientdata (void)
                }
        }
 
-       // LordHavoc: hipnotic demos don't have this bit set
-// [always sent]       if (bits & SU_ITEMS)
+       // LordHavoc: hipnotic demos don't have this bit set but should
+       if (bits & SU_ITEMS || cl.protocol != PROTOCOL_DARKPLACES6)
                cl.stats[STAT_ITEMS] = MSG_ReadLong ();
 
        cl.onground = (bits & SU_ONGROUND) != 0;
@@ -1205,7 +1205,7 @@ void CL_ParseTempEntity(void)
        case TE_CUSTOMFLASH:
                MSG_ReadVector(pos, cl.protocol);
                CL_FindNonSolidLocation(pos, pos, 4);
-               radius = MSG_ReadByte() * 8;
+               radius = (MSG_ReadByte() + 1) * 8;
                velspeed = (MSG_ReadByte() + 1) * (1.0 / 256.0);
                color[0] = MSG_ReadByte() * (2.0f / 255.0f);
                color[1] = MSG_ReadByte() * (2.0f / 255.0f);
@@ -1340,6 +1340,7 @@ void CL_ParseServerMessage(void)
        qbyte           cmdlog[32];
        char            *cmdlogname[32], *temp;
        int                     cmdindex, cmdcount = 0;
+       qboolean        sendmove = false;
 
        if (cls.demorecording)
                CL_WriteDemoMessage ();
@@ -1440,6 +1441,7 @@ void CL_ParseServerMessage(void)
                case svc_time:
                        cl.mtime[1] = cl.mtime[0];
                        cl.mtime[0] = MSG_ReadFloat ();
+                       sendmove = true;
                        break;
 
                case svc_clientdata:
@@ -1758,6 +1760,12 @@ void CL_ParseServerMessage(void)
 
        EntityFrameQuake_ISeeDeadEntities();
 
+       if (sendmove)
+       {
+               // send one move per server frame
+               CL_SendMove();
+       }
+
        parsingerror = false;
 }