Fix delta compression breaking due to packet queuing

This commit is contained in:
Thilo Schulz 2011-07-18 14:23:54 +00:00
parent ea6cf5fda9
commit 69a7ada911

View file

@ -610,6 +610,12 @@ void SV_SendClientMessages(void)
if(*c->downloadName) if(*c->downloadName)
continue; // Client is downloading, don't send snapshots continue; // Client is downloading, don't send snapshots
if(c->netchan.unsentFragments || c->netchan_start_queue)
{
c->rateDelayed = qtrue;
continue; // Drop this snapshot if the packet queue is still full or delta compression will break
}
if(!(c->netchan.remoteAddress.type == NA_LOOPBACK || if(!(c->netchan.remoteAddress.type == NA_LOOPBACK ||
(sv_lanForceRate->integer && Sys_IsLANAddress(c->netchan.remoteAddress)))) (sv_lanForceRate->integer && Sys_IsLANAddress(c->netchan.remoteAddress))))
{ {
@ -618,12 +624,6 @@ void SV_SendClientMessages(void)
if(svs.time - c->lastSnapshotTime < c->snapshotMsec * com_timescale->value) if(svs.time - c->lastSnapshotTime < c->snapshotMsec * com_timescale->value)
continue; // It's not time yet continue; // It's not time yet
if(c->netchan.unsentFragments || c->netchan_start_queue)
{
c->rateDelayed = qtrue;
continue; // Drop this snapshot if the packet queue is still full
}
if(SV_RateMsec(c) > 0) if(SV_RateMsec(c) > 0)
{ {
// Not enough time since last packet passed through the line // Not enough time since last packet passed through the line