]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - misc/source/darkplaces-src/protocol.c
Update the darkplaces engine source
[voretournament/voretournament.git] / misc / source / darkplaces-src / protocol.c
index d63d0918af10111711fda04ef9eafd38248bfa8c..29999302e3b69f7fa170139b43956a10a43d5a2f 100644 (file)
@@ -2241,19 +2241,20 @@ void EntityState5_WriteUpdate(int number, const entity_state_t *s, int changedbi
                        {
                                int numbones = s->skeletonobject.model->num_bones;
                                int bonenum;
-                               short pose6s[6];
+                               short pose7s[7];
                                MSG_WriteByte(msg, 4);
                                MSG_WriteShort(msg, s->modelindex);
                                MSG_WriteByte(msg, numbones);
                                for (bonenum = 0;bonenum < numbones;bonenum++)
                                {
-                                       Matrix4x4_ToBonePose6s(s->skeletonobject.relativetransforms + bonenum, 64, pose6s);
-                                       MSG_WriteShort(msg, pose6s[0]);
-                                       MSG_WriteShort(msg, pose6s[1]);
-                                       MSG_WriteShort(msg, pose6s[2]);
-                                       MSG_WriteShort(msg, pose6s[3]);
-                                       MSG_WriteShort(msg, pose6s[4]);
-                                       MSG_WriteShort(msg, pose6s[5]);
+                                       Matrix4x4_ToBonePose7s(s->skeletonobject.relativetransforms + bonenum, 64, pose7s);
+                                       MSG_WriteShort(msg, pose7s[0]);
+                                       MSG_WriteShort(msg, pose7s[1]);
+                                       MSG_WriteShort(msg, pose7s[2]);
+                                       MSG_WriteShort(msg, pose7s[3]);
+                                       MSG_WriteShort(msg, pose7s[4]);
+                                       MSG_WriteShort(msg, pose7s[5]);
+                                       MSG_WriteShort(msg, pose7s[6]);
                                }
                        }
                        else
@@ -2316,6 +2317,8 @@ void EntityState5_WriteUpdate(int number, const entity_state_t *s, int changedbi
 static void EntityState5_ReadUpdate(entity_state_t *s, int number)
 {
        int bits;
+       int startoffset = cl_message.readcount;
+       int bytes = 0;
        bits = MSG_ReadByte(&cl_message);
        if (bits & E5_EXTEND1)
        {
@@ -2434,7 +2437,7 @@ static void EntityState5_ReadUpdate(entity_state_t *s, int number)
                int type;
                int bonenum;
                int numbones;
-               short pose6s[6];
+               short pose7s[7];
                type = MSG_ReadByte(&cl_message);
                switch(type)
                {
@@ -2512,13 +2515,14 @@ static void EntityState5_ReadUpdate(entity_state_t *s, int number)
                        }
                        for (bonenum = 0;bonenum < numbones;bonenum++)
                        {
-                               pose6s[0] = (short)MSG_ReadShort(&cl_message);
-                               pose6s[1] = (short)MSG_ReadShort(&cl_message);
-                               pose6s[2] = (short)MSG_ReadShort(&cl_message);
-                               pose6s[3] = (short)MSG_ReadShort(&cl_message);
-                               pose6s[4] = (short)MSG_ReadShort(&cl_message);
-                               pose6s[5] = (short)MSG_ReadShort(&cl_message);
-                               Matrix4x4_FromBonePose6s(skeleton->relativetransforms + bonenum, 1.0f / 64.0f, pose6s);
+                               pose7s[0] = (short)MSG_ReadShort(&cl_message);
+                               pose7s[1] = (short)MSG_ReadShort(&cl_message);
+                               pose7s[2] = (short)MSG_ReadShort(&cl_message);
+                               pose7s[3] = (short)MSG_ReadShort(&cl_message);
+                               pose7s[4] = (short)MSG_ReadShort(&cl_message);
+                               pose7s[5] = (short)MSG_ReadShort(&cl_message);
+                               pose7s[6] = (short)MSG_ReadShort(&cl_message);
+                               Matrix4x4_FromBonePose7s(skeleton->relativetransforms + bonenum, 1.0f / 64.0f, pose7s);
                        }
                        s->skeletonobject = *skeleton;
                        break;
@@ -2531,9 +2535,10 @@ static void EntityState5_ReadUpdate(entity_state_t *s, int number)
                s->traileffectnum = (unsigned short) MSG_ReadShort(&cl_message);
 
 
+       bytes = cl_message.readcount - startoffset;
        if (developer_networkentities.integer >= 2)
        {
-               Con_Printf("ReadFields e%i", number);
+               Con_Printf("ReadFields e%i (%i bytes)", number, bytes);
 
                if (bits & E5_ORIGIN)
                        Con_Printf(" E5_ORIGIN %f %f %f", s->origin[0], s->origin[1], s->origin[2]);
@@ -2586,6 +2591,10 @@ static void EntityState5_ReadUpdate(entity_state_t *s, int number)
                        Con_Printf(" E5_COLORMOD %f:%f:%f", s->colormod[0] / 32.0f, s->colormod[1] / 32.0f, s->colormod[2] / 32.0f);
                if (bits & E5_GLOWMOD)
                        Con_Printf(" E5_GLOWMOD %f:%f:%f", s->glowmod[0] / 32.0f, s->glowmod[1] / 32.0f, s->glowmod[2] / 32.0f);
+               if (bits & E5_COMPLEXANIMATION)
+                       Con_Printf(" E5_COMPLEXANIMATION");
+               if (bits & E5_TRAILEFFECTNUM)
+                       Con_Printf(" E5_TRAILEFFECTNUM %i", s->traileffectnum);
                Con_Print("\n");
        }
 }