Remove latency checks on lag compensation
This commit is contained in:
parent
2c2cbf4f03
commit
1b8162a4b6
1 changed files with 0 additions and 29 deletions
|
@ -362,41 +362,12 @@ void CLagCompensationManager::StartLagCompensation( CBasePlayer *player, CUserCm
|
||||||
Q_memset( m_RestoreData, 0, sizeof( m_RestoreData ) );
|
Q_memset( m_RestoreData, 0, sizeof( m_RestoreData ) );
|
||||||
Q_memset( m_ChangeData, 0, sizeof( m_ChangeData ) );
|
Q_memset( m_ChangeData, 0, sizeof( m_ChangeData ) );
|
||||||
|
|
||||||
// Get true latency
|
|
||||||
|
|
||||||
// correct is the amout of time we have to correct game time
|
|
||||||
float correct = 0.0f;
|
|
||||||
|
|
||||||
INetChannelInfo *nci = engine->GetPlayerNetInfo( player->entindex() );
|
|
||||||
|
|
||||||
if ( nci )
|
|
||||||
{
|
|
||||||
// add network latency
|
|
||||||
correct+= nci->GetLatency( FLOW_OUTGOING );
|
|
||||||
}
|
|
||||||
|
|
||||||
// calc number of view interpolation ticks - 1
|
// calc number of view interpolation ticks - 1
|
||||||
int lerpTicks = TIME_TO_TICKS( player->m_fLerpTime );
|
int lerpTicks = TIME_TO_TICKS( player->m_fLerpTime );
|
||||||
|
|
||||||
// add view interpolation latency see C_BaseEntity::GetInterpolationAmount()
|
|
||||||
correct += TICKS_TO_TIME( lerpTicks );
|
|
||||||
|
|
||||||
// check bouns [0,sv_maxunlag]
|
|
||||||
correct = clamp( correct, 0.0f, sv_maxunlag.GetFloat() );
|
|
||||||
|
|
||||||
// correct tick send by player
|
// correct tick send by player
|
||||||
int targettick = cmd->tick_count - lerpTicks;
|
int targettick = cmd->tick_count - lerpTicks;
|
||||||
|
|
||||||
// calc difference between tick send by player and our latency based tick
|
|
||||||
float deltaTime = correct - TICKS_TO_TIME(gpGlobals->tickcount - targettick);
|
|
||||||
|
|
||||||
if ( fabs( deltaTime ) > 0.2f )
|
|
||||||
{
|
|
||||||
// difference between cmd time and latency is too big > 200ms, use time correction based on latency
|
|
||||||
// DevMsg("StartLagCompensation: delta too big (%.3f)\n", deltaTime );
|
|
||||||
targettick = gpGlobals->tickcount - TIME_TO_TICKS( correct );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Iterate all active players
|
// Iterate all active players
|
||||||
const CBitVec<MAX_EDICTS> *pEntityTransmitBits = engine->GetEntityTransmitBitsForClient( player->entindex() - 1 );
|
const CBitVec<MAX_EDICTS> *pEntityTransmitBits = engine->GetEntityTransmitBitsForClient( player->entindex() - 1 );
|
||||||
for ( int i = 1; i <= gpGlobals->maxClients; i++ )
|
for ( int i = 1; i <= gpGlobals->maxClients; i++ )
|
||||||
|
|
Loading…
Reference in a new issue