Skip to content

Commit ff61989

Browse files
committed
networking: use >= when checking for full updates!
1 parent 89c2428 commit ff61989

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

source/modules/networking.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,15 +1285,17 @@ struct PlayerTransmitCache
12851285
if (nTransmitTicks == -1) {
12861286
CBaseClient* pClient = Util::GetClientByPlayer((const CBasePlayer*)pPlayer);
12871287
if (pClient) {
1288-
nLastAcknowledgedTick = pClient->GetMaxAckTickCount();
1288+
nLastAcknowledgedTick = pClient->GetMaxAckTickCount(); // pClient->m_nDeltaTick;
1289+
// Verify: GetMaxAckTickCount may be inaccurate for our use case since we need m_nDeltaTick?
1290+
// if (pClient->m_nDeltaTick != pClient->GetMaxAckTickCount())
1291+
// DevMsg(PROJECT_NAME " - networking: Interresting... for client %i (ent index) the delta tick %i differs from the MaxAckTick %i (%i)\n", pPlayer->edict()->m_EdictIndex, pClient->m_nDeltaTick, pClient->GetMaxAckTickCount(), nFullUpdateTick);
12891292
} else {
1290-
DevMsg(PROJECT_NAME " - networking: Failed to get CBaseClient for player %i (ent index)\n", pPlayer->edict()->m_EdictIndex);
1293+
// DevMsg(PROJECT_NAME " - networking: Failed to get CBaseClient for player %i (ent index)\n", pPlayer->edict()->m_EdictIndex);
12911294
nLastAcknowledgedTick = nTick - 100; // Fallback though should never happen
12921295
}
12931296
} else {
12941297
nLastAcknowledgedTick = nTick - nTransmitTicks;
12951298
}
1296-
12971299

12981300
for (int i=0; i<MAX_WEAPONS; ++i)
12991301
{
@@ -1330,6 +1332,7 @@ struct PlayerTransmitCache
13301332

13311333
void MarkFullUpdate()
13321334
{
1335+
// DevMsg(PROJECT_NAME " - networking: Triggered fullupdate %i\n", gpGlobals->tickcount);
13331336
nFullUpdateTick = gpGlobals->tickcount;
13341337
}
13351338

@@ -1341,7 +1344,8 @@ struct PlayerTransmitCache
13411344
// If the client relative to his own last acknowledged tick
13421345
bool InFullUpdate() const
13431346
{
1344-
return nFullUpdateTick > nLastAcknowledgedTick;
1347+
// DevMsg(PROJECT_NAME " - networking: InFullUpdate %i - %i\n", nFullUpdateTick, nLastAcknowledgedTick);
1348+
return nFullUpdateTick >= nLastAcknowledgedTick;
13451349
}
13461350

13471351
bool bIsValid = false;
@@ -1575,6 +1579,7 @@ static void hook_CBaseCombatCharacter_SetTransmit(CBaseCombatCharacter* pCharact
15751579
const PlayerTransmitCache& pCache = g_pPlayerTransmitCache[pCharacterEdict->m_EdictIndex-1];
15761580
if (networking_transmit_onfullupdate.GetBool() && pCache.InFullUpdate())
15771581
{
1582+
// DevMsg(PROJECT_NAME " - networking: Doing full weapon transmit for %i...\n", pCharacterEdict->m_EdictIndex);
15781583
for (int i=0; i < MAX_WEAPONS; ++i)
15791584
{
15801585
CBaseEntity *pWeapon = GetMyWeapon(pCharacter, i);

0 commit comments

Comments
 (0)