@@ -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