mirror of https://github.com/FWGS/xash3d-fwgs
engine: net_encode: made delta more GoldSrc consistant
This commit is contained in:
parent
9ffc02b6e9
commit
8b76ab93fb
|
@ -479,7 +479,7 @@ void Delta_WriteTableField( sizebuf_t *msg, int tableIndex, const delta_t *pFiel
|
||||||
Assert( pField != NULL );
|
Assert( pField != NULL );
|
||||||
|
|
||||||
if( !COM_CheckString( pField->name ))
|
if( !COM_CheckString( pField->name ))
|
||||||
return; // not initialized ?
|
return;// not initialized ?
|
||||||
|
|
||||||
dt = Delta_FindStructByIndex( tableIndex );
|
dt = Delta_FindStructByIndex( tableIndex );
|
||||||
Assert( dt && dt->bInitialized );
|
Assert( dt && dt->bInitialized );
|
||||||
|
@ -494,14 +494,14 @@ void Delta_WriteTableField( sizebuf_t *msg, int tableIndex, const delta_t *pFiel
|
||||||
MSG_WriteUBitLong( msg, pField->bits - 1, 5 ); // max received value is 32 (32 bit)
|
MSG_WriteUBitLong( msg, pField->bits - 1, 5 ); // max received value is 32 (32 bit)
|
||||||
|
|
||||||
// multipliers is null-compressed
|
// multipliers is null-compressed
|
||||||
if( pField->multiplier != 1.0f )
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
{
|
{
|
||||||
MSG_WriteOneBit( msg, 1 );
|
MSG_WriteOneBit( msg, 1 );
|
||||||
MSG_WriteFloat( msg, pField->multiplier );
|
MSG_WriteFloat( msg, pField->multiplier );
|
||||||
}
|
}
|
||||||
else MSG_WriteOneBit( msg, 0 );
|
else MSG_WriteOneBit( msg, 0 );
|
||||||
|
|
||||||
if( pField->post_multiplier != 1.0f )
|
if( pField->post_multiplier <= 0.9999f || pField->post_multiplier >= 1.0001f )
|
||||||
{
|
{
|
||||||
MSG_WriteOneBit( msg, 1 );
|
MSG_WriteOneBit( msg, 1 );
|
||||||
MSG_WriteFloat( msg, pField->post_multiplier );
|
MSG_WriteFloat( msg, pField->post_multiplier );
|
||||||
|
@ -898,7 +898,7 @@ int Delta_ClampIntegerField( delta_t *pField, int iValue, qboolean bSigned, int
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if( numbits < 32 && abs( iValue ) >= (uint)BIT( numbits ))
|
if( numbits < 32 && abs( iValue ) >= (uint)BIT( numbits ))
|
||||||
Con_Reportf( "%s %d overflow %d\n", pField->name, abs( iValue ), (uint)BIT( numbits ));
|
Con_Reportf( S_WARN "Delta_ClampIntegerField: field %s = %d overflowed %d\n", pField->name, abs( iValue ), (uint)BIT( numbits ));
|
||||||
#endif
|
#endif
|
||||||
if( numbits < 32 )
|
if( numbits < 32 )
|
||||||
{
|
{
|
||||||
|
@ -919,7 +919,7 @@ compare fields by offsets
|
||||||
assume from and to is valid
|
assume from and to is valid
|
||||||
=====================
|
=====================
|
||||||
*/
|
*/
|
||||||
qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timebase )
|
qboolean Delta_CompareField( delta_t *pField, void *from, void *to, double timebase )
|
||||||
{
|
{
|
||||||
qboolean bSigned = ( pField->flags & DT_SIGNED ) ? true : false;
|
qboolean bSigned = ( pField->flags & DT_SIGNED ) ? true : false;
|
||||||
float val_a, val_b;
|
float val_a, val_b;
|
||||||
|
@ -949,8 +949,12 @@ qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timeba
|
||||||
|
|
||||||
fromF = Delta_ClampIntegerField( pField, fromF, bSigned, pField->bits );
|
fromF = Delta_ClampIntegerField( pField, fromF, bSigned, pField->bits );
|
||||||
toF = Delta_ClampIntegerField( pField, toF, bSigned, pField->bits );
|
toF = Delta_ClampIntegerField( pField, toF, bSigned, pField->bits );
|
||||||
if( pField->multiplier != 1.0f ) fromF *= pField->multiplier;
|
|
||||||
if( pField->multiplier != 1.0f ) toF *= pField->multiplier;
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
fromF *= pField->multiplier;
|
||||||
|
|
||||||
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
toF *= pField->multiplier;
|
||||||
}
|
}
|
||||||
else if( pField->flags & DT_SHORT )
|
else if( pField->flags & DT_SHORT )
|
||||||
{
|
{
|
||||||
|
@ -967,8 +971,12 @@ qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timeba
|
||||||
|
|
||||||
fromF = Delta_ClampIntegerField( pField, fromF, bSigned, pField->bits );
|
fromF = Delta_ClampIntegerField( pField, fromF, bSigned, pField->bits );
|
||||||
toF = Delta_ClampIntegerField( pField, toF, bSigned, pField->bits );
|
toF = Delta_ClampIntegerField( pField, toF, bSigned, pField->bits );
|
||||||
if( pField->multiplier != 1.0f ) fromF *= pField->multiplier;
|
|
||||||
if( pField->multiplier != 1.0f ) toF *= pField->multiplier;
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
fromF *= pField->multiplier;
|
||||||
|
|
||||||
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
toF *= pField->multiplier;
|
||||||
}
|
}
|
||||||
else if( pField->flags & DT_INTEGER )
|
else if( pField->flags & DT_INTEGER )
|
||||||
{
|
{
|
||||||
|
@ -991,8 +999,10 @@ qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timeba
|
||||||
#endif
|
#endif
|
||||||
fromF = Delta_ClampIntegerField( pField, fromF, bSigned, pField->bits );
|
fromF = Delta_ClampIntegerField( pField, fromF, bSigned, pField->bits );
|
||||||
toF = Delta_ClampIntegerField( pField, toF, bSigned, pField->bits );
|
toF = Delta_ClampIntegerField( pField, toF, bSigned, pField->bits );
|
||||||
if( pField->multiplier != 1.0f ) fromF *= pField->multiplier;
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
if( pField->multiplier != 1.0f ) toF *= pField->multiplier;
|
fromF *= pField->multiplier;
|
||||||
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
toF *= pField->multiplier;
|
||||||
}
|
}
|
||||||
else if( pField->flags & ( DT_ANGLE|DT_FLOAT ))
|
else if( pField->flags & ( DT_ANGLE|DT_FLOAT ))
|
||||||
{
|
{
|
||||||
|
@ -1002,10 +1012,10 @@ qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timeba
|
||||||
}
|
}
|
||||||
else if( pField->flags & DT_TIMEWINDOW_8 )
|
else if( pField->flags & DT_TIMEWINDOW_8 )
|
||||||
{
|
{
|
||||||
val_a = Q_rint((*(float *)((byte *)from + pField->offset )) * 100.0f );
|
val_a = Q_rint((*(float *)((byte *)from + pField->offset )) * 100.0 );
|
||||||
val_b = Q_rint((*(float *)((byte *)to + pField->offset )) * 100.0f );
|
val_b = Q_rint((*(float *)((byte *)to + pField->offset )) * 100.0 );
|
||||||
val_a -= Q_rint(timebase * 100.0f);
|
val_a -= Q_rint(timebase * 100.0);
|
||||||
val_b -= Q_rint(timebase * 100.0f);
|
val_b -= Q_rint(timebase * 100.0);
|
||||||
fromF = *((int *)&val_a);
|
fromF = *((int *)&val_a);
|
||||||
toF = *((int *)&val_b);
|
toF = *((int *)&val_b);
|
||||||
}
|
}
|
||||||
|
@ -1014,7 +1024,7 @@ qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timeba
|
||||||
val_a = (*(float *)((byte *)from + pField->offset ));
|
val_a = (*(float *)((byte *)from + pField->offset ));
|
||||||
val_b = (*(float *)((byte *)to + pField->offset ));
|
val_b = (*(float *)((byte *)to + pField->offset ));
|
||||||
|
|
||||||
if( pField->multiplier != 1.0f )
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
{
|
{
|
||||||
val_a *= pField->multiplier;
|
val_a *= pField->multiplier;
|
||||||
val_b *= pField->multiplier;
|
val_b *= pField->multiplier;
|
||||||
|
@ -1050,7 +1060,7 @@ Delta_TestBaseline
|
||||||
compare baselines to find optimal
|
compare baselines to find optimal
|
||||||
=====================
|
=====================
|
||||||
*/
|
*/
|
||||||
int Delta_TestBaseline( entity_state_t *from, entity_state_t *to, qboolean player, float timebase )
|
int Delta_TestBaseline( entity_state_t *from, entity_state_t *to, qboolean player, double timebase )
|
||||||
{
|
{
|
||||||
delta_info_t *dt = NULL;
|
delta_info_t *dt = NULL;
|
||||||
delta_t *pField;
|
delta_t *pField;
|
||||||
|
@ -1108,7 +1118,7 @@ write fields by offsets
|
||||||
assume from and to is valid
|
assume from and to is valid
|
||||||
=====================
|
=====================
|
||||||
*/
|
*/
|
||||||
qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to, float timebase )
|
qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to, double timebase )
|
||||||
{
|
{
|
||||||
qboolean bSigned = ( pField->flags & DT_SIGNED ) ? true : false;
|
qboolean bSigned = ( pField->flags & DT_SIGNED ) ? true : false;
|
||||||
float flValue, flAngle, flTime;
|
float flValue, flAngle, flTime;
|
||||||
|
@ -1130,7 +1140,10 @@ qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to
|
||||||
else
|
else
|
||||||
iValue = *(uint8_t *)((int8_t *)to + pField->offset );
|
iValue = *(uint8_t *)((int8_t *)to + pField->offset );
|
||||||
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
||||||
if( pField->multiplier != 1.0f ) iValue *= pField->multiplier;
|
|
||||||
|
if( pField->multiplier < 0.9999f || pField->multiplier > 1.0001f )
|
||||||
|
iValue *= pField->multiplier;
|
||||||
|
|
||||||
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
||||||
}
|
}
|
||||||
else if( pField->flags & DT_SHORT )
|
else if( pField->flags & DT_SHORT )
|
||||||
|
@ -1140,7 +1153,10 @@ qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to
|
||||||
else
|
else
|
||||||
iValue = *(uint16_t *)((int8_t *)to + pField->offset );
|
iValue = *(uint16_t *)((int8_t *)to + pField->offset );
|
||||||
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
||||||
if( pField->multiplier != 1.0f ) iValue *= pField->multiplier;
|
|
||||||
|
if( pField->multiplier < 0.9999f || pField->multiplier > 1.0001f )
|
||||||
|
iValue *= pField->multiplier;
|
||||||
|
|
||||||
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
||||||
}
|
}
|
||||||
else if( pField->flags & DT_INTEGER )
|
else if( pField->flags & DT_INTEGER )
|
||||||
|
@ -1157,13 +1173,16 @@ qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
#endif
|
#endif
|
||||||
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
||||||
if( pField->multiplier != 1.0f ) iValue *= pField->multiplier;
|
|
||||||
|
if( pField->multiplier < 0.9999f || pField->multiplier > 1.0001f )
|
||||||
|
iValue *= pField->multiplier;
|
||||||
|
|
||||||
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
||||||
}
|
}
|
||||||
else if( pField->flags & DT_FLOAT )
|
else if( pField->flags & DT_FLOAT )
|
||||||
{
|
{
|
||||||
flValue = *(float *)((byte *)to + pField->offset );
|
flValue = *(float *)((byte *)to + pField->offset );
|
||||||
iValue = (int)(flValue * pField->multiplier);
|
iValue = (int)((double)flValue * pField->multiplier);
|
||||||
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
||||||
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
||||||
}
|
}
|
||||||
|
@ -1179,7 +1198,7 @@ qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to
|
||||||
{
|
{
|
||||||
bSigned = true; // timewindow is always signed
|
bSigned = true; // timewindow is always signed
|
||||||
flValue = *(float *)((byte *)to + pField->offset );
|
flValue = *(float *)((byte *)to + pField->offset );
|
||||||
iValue = (int)Q_rint( timebase * 100.0f ) - (int)Q_rint( flValue * 100.0f );
|
iValue = (int)Q_rint( timebase * 100.0 ) - (int)Q_rint( flValue * 100.0 );
|
||||||
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
iValue = Delta_ClampIntegerField( pField, iValue, bSigned, pField->bits );
|
||||||
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
MSG_WriteBitLong( msg, iValue, pField->bits, bSigned );
|
||||||
}
|
}
|
||||||
|
@ -1207,7 +1226,7 @@ read fields by offsets
|
||||||
assume 'from' and 'to' is valid
|
assume 'from' and 'to' is valid
|
||||||
=====================
|
=====================
|
||||||
*/
|
*/
|
||||||
qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to, float timebase )
|
qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to, double timebase )
|
||||||
{
|
{
|
||||||
qboolean bSigned = ( pField->flags & DT_SIGNED ) ? true : false;
|
qboolean bSigned = ( pField->flags & DT_SIGNED ) ? true : false;
|
||||||
float flValue, flAngle, flTime;
|
float flValue, flAngle, flTime;
|
||||||
|
@ -1225,7 +1244,8 @@ qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to,
|
||||||
if( bChanged )
|
if( bChanged )
|
||||||
{
|
{
|
||||||
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
||||||
if( pField->multiplier != 1.0f ) iValue /= pField->multiplier;
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
iValue /= pField->multiplier;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1244,7 +1264,8 @@ qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to,
|
||||||
if( bChanged )
|
if( bChanged )
|
||||||
{
|
{
|
||||||
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
||||||
if( pField->multiplier != 1.0f ) iValue /= pField->multiplier;
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
iValue /= pField->multiplier;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1267,7 +1288,8 @@ qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to,
|
||||||
if( bChanged )
|
if( bChanged )
|
||||||
{
|
{
|
||||||
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
||||||
if( pField->multiplier != 1.0f ) iValue /= pField->multiplier;
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
iValue /= pField->multiplier;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1289,7 +1311,15 @@ qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to,
|
||||||
if( bChanged )
|
if( bChanged )
|
||||||
{
|
{
|
||||||
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
||||||
flValue = (int)iValue * ( 1.0f / pField->multiplier );
|
if( bSigned )
|
||||||
|
flValue = (int)iValue;
|
||||||
|
else
|
||||||
|
flValue = iValue;
|
||||||
|
|
||||||
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
|
flValue = flValue / pField->multiplier;
|
||||||
|
|
||||||
|
if( pField->post_multiplier <= 0.9999f || pField->post_multiplier >= 1.0001f)
|
||||||
flValue = flValue * pField->post_multiplier;
|
flValue = flValue * pField->post_multiplier;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1316,7 +1346,7 @@ qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to,
|
||||||
{
|
{
|
||||||
bSigned = true; // timewindow is always signed
|
bSigned = true; // timewindow is always signed
|
||||||
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
||||||
flTime = ((timebase * 100.0f) - iValue ) / 100.0f;
|
flTime = (timebase * 100.0 - iValue) / 100.0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1330,10 +1360,11 @@ qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to,
|
||||||
{
|
{
|
||||||
bSigned = true; // timewindow is always signed
|
bSigned = true; // timewindow is always signed
|
||||||
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
iValue = MSG_ReadBitLong( msg, pField->bits, bSigned );
|
||||||
flTime = ((timebase * pField->multiplier) - iValue );
|
|
||||||
|
|
||||||
if( pField->multiplier != 1.0f )
|
if( pField->multiplier <= 0.9999f || pField->multiplier >= 1.0001f )
|
||||||
flTime /= pField->multiplier;
|
flTime = ( timebase * pField->multiplier - iValue ) / pField->multiplier;
|
||||||
|
else
|
||||||
|
flTime = timebase - iValue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1559,7 +1590,7 @@ Writes current client data only for local client
|
||||||
Other clients can grab the client state from entity_state_t
|
Other clients can grab the client state from entity_state_t
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void MSG_WriteClientData( sizebuf_t *msg, clientdata_t *from, clientdata_t *to, float timebase )
|
void MSG_WriteClientData( sizebuf_t *msg, clientdata_t *from, clientdata_t *to, double timebase )
|
||||||
{
|
{
|
||||||
delta_t *pField;
|
delta_t *pField;
|
||||||
delta_info_t *dt;
|
delta_info_t *dt;
|
||||||
|
@ -1599,7 +1630,7 @@ MSG_ReadClientData
|
||||||
Read the clientdata
|
Read the clientdata
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void MSG_ReadClientData( sizebuf_t *msg, clientdata_t *from, clientdata_t *to, float timebase )
|
void MSG_ReadClientData( sizebuf_t *msg, clientdata_t *from, clientdata_t *to, double timebase )
|
||||||
{
|
{
|
||||||
#if !XASH_DEDICATED
|
#if !XASH_DEDICATED
|
||||||
delta_t *pField;
|
delta_t *pField;
|
||||||
|
@ -1640,7 +1671,7 @@ Writes current client data only for local client
|
||||||
Other clients can grab the client state from entity_state_t
|
Other clients can grab the client state from entity_state_t
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void MSG_WriteWeaponData( sizebuf_t *msg, weapon_data_t *from, weapon_data_t *to, float timebase, int index )
|
void MSG_WriteWeaponData( sizebuf_t *msg, weapon_data_t *from, weapon_data_t *to, double timebase, int index )
|
||||||
{
|
{
|
||||||
delta_t *pField;
|
delta_t *pField;
|
||||||
delta_info_t *dt;
|
delta_info_t *dt;
|
||||||
|
@ -1679,7 +1710,7 @@ MSG_ReadWeaponData
|
||||||
Read the clientdata
|
Read the clientdata
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void MSG_ReadWeaponData( sizebuf_t *msg, weapon_data_t *from, weapon_data_t *to, float timebase )
|
void MSG_ReadWeaponData( sizebuf_t *msg, weapon_data_t *from, weapon_data_t *to, double timebase )
|
||||||
{
|
{
|
||||||
delta_t *pField;
|
delta_t *pField;
|
||||||
delta_info_t *dt;
|
delta_info_t *dt;
|
||||||
|
@ -1718,7 +1749,7 @@ If force is not set, then nothing at all will be generated if the entity is
|
||||||
identical, under the assumption that the in-order delta code will catch it.
|
identical, under the assumption that the in-order delta code will catch it.
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void MSG_WriteDeltaEntity( entity_state_t *from, entity_state_t *to, sizebuf_t *msg, qboolean force, int delta_type, float timebase, int baseline )
|
void MSG_WriteDeltaEntity( entity_state_t *from, entity_state_t *to, sizebuf_t *msg, qboolean force, int delta_type, double timebase, int baseline )
|
||||||
{
|
{
|
||||||
delta_info_t *dt = NULL;
|
delta_info_t *dt = NULL;
|
||||||
delta_t *pField;
|
delta_t *pField;
|
||||||
|
@ -1820,7 +1851,7 @@ If the delta removes the entity, entity_state_t->number will be set to MAX_EDICT
|
||||||
Can go from either a baseline or a previous packet_entity
|
Can go from either a baseline or a previous packet_entity
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
qboolean MSG_ReadDeltaEntity( sizebuf_t *msg, entity_state_t *from, entity_state_t *to, int number, int delta_type, float timebase )
|
qboolean MSG_ReadDeltaEntity( sizebuf_t *msg, entity_state_t *from, entity_state_t *to, int number, int delta_type, double timebase )
|
||||||
{
|
{
|
||||||
#if !XASH_DEDICATED
|
#if !XASH_DEDICATED
|
||||||
delta_info_t *dt = NULL;
|
delta_info_t *dt = NULL;
|
||||||
|
|
|
@ -127,12 +127,12 @@ void MSG_WriteDeltaEvent( sizebuf_t *msg, struct event_args_s *from, struct even
|
||||||
void MSG_ReadDeltaEvent( sizebuf_t *msg, struct event_args_s *from, struct event_args_s *to );
|
void MSG_ReadDeltaEvent( sizebuf_t *msg, struct event_args_s *from, struct event_args_s *to );
|
||||||
qboolean MSG_WriteDeltaMovevars( sizebuf_t *msg, struct movevars_s *from, struct movevars_s *to );
|
qboolean MSG_WriteDeltaMovevars( sizebuf_t *msg, struct movevars_s *from, struct movevars_s *to );
|
||||||
void MSG_ReadDeltaMovevars( sizebuf_t *msg, struct movevars_s *from, struct movevars_s *to );
|
void MSG_ReadDeltaMovevars( sizebuf_t *msg, struct movevars_s *from, struct movevars_s *to );
|
||||||
void MSG_WriteClientData( sizebuf_t *msg, struct clientdata_s *from, struct clientdata_s *to, float timebase );
|
void MSG_WriteClientData( sizebuf_t *msg, struct clientdata_s *from, struct clientdata_s *to, double timebase );
|
||||||
void MSG_ReadClientData( sizebuf_t *msg, struct clientdata_s *from, struct clientdata_s *to, float timebase );
|
void MSG_ReadClientData( sizebuf_t *msg, struct clientdata_s *from, struct clientdata_s *to, double timebase );
|
||||||
void MSG_WriteWeaponData( sizebuf_t *msg, struct weapon_data_s *from, struct weapon_data_s *to, float timebase, int index );
|
void MSG_WriteWeaponData( sizebuf_t *msg, struct weapon_data_s *from, struct weapon_data_s *to, double timebase, int index );
|
||||||
void MSG_ReadWeaponData( sizebuf_t *msg, struct weapon_data_s *from, struct weapon_data_s *to, float timebase );
|
void MSG_ReadWeaponData( sizebuf_t *msg, struct weapon_data_s *from, struct weapon_data_s *to, double timebase );
|
||||||
void MSG_WriteDeltaEntity( struct entity_state_s *from, struct entity_state_s *to, sizebuf_t *msg, qboolean force, int type, float tbase, int ofs );
|
void MSG_WriteDeltaEntity( struct entity_state_s *from, struct entity_state_s *to, sizebuf_t *msg, qboolean force, int type, double timebase, int ofs );
|
||||||
qboolean MSG_ReadDeltaEntity( sizebuf_t *msg, struct entity_state_s *from, struct entity_state_s *to, int num, int type, float timebase );
|
qboolean MSG_ReadDeltaEntity( sizebuf_t *msg, struct entity_state_s *from, struct entity_state_s *to, int num, int type, double timebase );
|
||||||
int Delta_TestBaseline( struct entity_state_s *from, struct entity_state_s *to, qboolean player, float timebase );
|
int Delta_TestBaseline( struct entity_state_s *from, struct entity_state_s *to, qboolean player, double timebase );
|
||||||
|
|
||||||
#endif//NET_ENCODE_H
|
#endif//NET_ENCODE_H
|
||||||
|
|
Loading…
Reference in New Issue