MCPcopy Create free account
hub / github.com/JACoders/OpenJK / MSG_ReadDeltaEntity

Function MSG_ReadDeltaEntity

code/qcommon/msg.cpp:854–933  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

852
853#if 0 // Removed by BTO (VV)
854void MSG_ReadDeltaEntity( msg_t *msg, entityState_t *from, entityState_t *to, int number)
855{
856 int i;
857 const netField_t *field;
858 int *fromF, *toF;
859 int print = 0;
860 int startBit, endBit;
861 const int numFields = sizeof(entityStateFields)/sizeof(entityStateFields[0]);
862 byte expandedVector[(numFields/8) + 1];
863
864 if ( number < 0 || number >= MAX_GENTITIES) {
865 Com_Error( ERR_DROP, "Bad delta entity number: %i", number );
866 }
867
868 if ( msg->bit == 0 ) {
869 startBit = msg->readcount * 8 - GENTITYNUM_BITS;
870 } else {
871 startBit = ( msg->readcount - 1 ) * 8 + msg->bit - GENTITYNUM_BITS;
872 }
873
874 // check for a remove
875 if ( MSG_ReadBits( msg, 1 ) == 1 ) {
876 memset( to, 0, sizeof( *to ) );
877 to->number = MAX_GENTITIES - 1;
878 if ( cl_shownet->integer >= 2 || cl_shownet->integer == -1 ) {
879 Com_Printf( "%3i: #%-3i remove\n", msg->readcount, number );
880 }
881 return;
882 }
883
884 // check for no delta
885 if ( MSG_ReadBits( msg, 1 ) != 0 )
886 {
887 const int numFields = sizeof(entityStateFields)/sizeof(entityStateFields[0]);
888
889 // shownet 2/3 will interleave with other printed info, -1 will
890 // just print the delta records`
891 if ( cl_shownet->integer >= 2 || cl_shownet->integer == -1 ) {
892 print = 1;
893 Com_Printf( "%3i: #%-3i ", msg->readcount, to->number );
894 } else {
895 print = 0;
896 }
897
898 // we need to write the entire delta
899 for ( i = 0 ; i + 8 <= numFields ; i += 8 ) {
900 expandedVector[i>>3] = MSG_ReadByte( msg );
901 }
902 if ( numFields & 7 ) {
903 expandedVector[i>>3] = MSG_ReadBits( msg, numFields & 7 );
904 }
905
906 to->number = number;
907
908 for ( i = 0, field = entityStateFields ; i < numFields ; i++, field++ ) {
909 fromF = (int *)( (byte *)from + field->offset );
910 toF = (int *)( (byte *)to + field->offset );
911

Callers

nothing calls this directly

Calls 5

MSG_ReadFieldFunction · 0.85
Com_ErrorFunction · 0.70
MSG_ReadBitsFunction · 0.70
Com_PrintfFunction · 0.70
MSG_ReadByteFunction · 0.70

Tested by

no test coverage detected