Make sure backbuf net primitives don't get corrupted. This is presumably what was causing the wrongly-sized angles / illegible server message issues that fortressone was having.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6020 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
afe62bcf7f
commit
f0aea54e5d
4 changed files with 9 additions and 3 deletions
|
@ -748,7 +748,8 @@ void SV_SetupNetworkBuffers(qboolean bigcoords)
|
||||||
|
|
||||||
//make sure those are kept up to date too.
|
//make sure those are kept up to date too.
|
||||||
svs.clients[i].datagram.prim =
|
svs.clients[i].datagram.prim =
|
||||||
svs.clients[i].netchan.message.prim = svs.clients[i].netchan.netprim;
|
svs.clients[i].netchan.message.prim =
|
||||||
|
svs.clients[i].backbuf.prim = svs.clients[i].netchan.netprim;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -2362,6 +2362,7 @@ client_t *SV_AddSplit(client_t *controller, char *info, int id)
|
||||||
cl->spectator = asspec;
|
cl->spectator = asspec;
|
||||||
cl->netchan.remote_address = controller->netchan.remote_address;
|
cl->netchan.remote_address = controller->netchan.remote_address;
|
||||||
cl->netchan.message.prim = controller->netchan.message.prim;
|
cl->netchan.message.prim = controller->netchan.message.prim;
|
||||||
|
cl->backbuf.prim = controller->backbuf.prim;
|
||||||
cl->netchan.netprim = controller->netchan.netprim;
|
cl->netchan.netprim = controller->netchan.netprim;
|
||||||
cl->zquake_extensions = controller->zquake_extensions;
|
cl->zquake_extensions = controller->zquake_extensions;
|
||||||
cl->fteprotocolextensions = controller->fteprotocolextensions;
|
cl->fteprotocolextensions = controller->fteprotocolextensions;
|
||||||
|
@ -2968,8 +2969,9 @@ void SV_DoDirectConnect(svconnectinfo_t *fte_restrict info)
|
||||||
else
|
else
|
||||||
newcl->datagram.maxsize = MAX_DATAGRAM;
|
newcl->datagram.maxsize = MAX_DATAGRAM;
|
||||||
|
|
||||||
newcl->netchan.netprim = svs.netprim;
|
newcl->netchan.netprim =
|
||||||
newcl->datagram.prim = svs.netprim;
|
newcl->datagram.prim =
|
||||||
|
newcl->backbuf.prim =
|
||||||
newcl->netchan.message.prim = svs.netprim;
|
newcl->netchan.message.prim = svs.netprim;
|
||||||
|
|
||||||
SV_ClientProtocolExtensionsChanged(newcl);
|
SV_ClientProtocolExtensionsChanged(newcl);
|
||||||
|
|
|
@ -33,6 +33,7 @@ void ClientReliableCheckBlock(client_t *cl, int maxsize)
|
||||||
if (!cl->num_backbuf)
|
if (!cl->num_backbuf)
|
||||||
{
|
{
|
||||||
memset(&cl->backbuf, 0, sizeof(cl->backbuf));
|
memset(&cl->backbuf, 0, sizeof(cl->backbuf));
|
||||||
|
cl->backbuf.prim = cl->netchan.message.prim;
|
||||||
cl->backbuf.allowoverflow = true;
|
cl->backbuf.allowoverflow = true;
|
||||||
cl->backbuf.data = cl->backbuf_data[0];
|
cl->backbuf.data = cl->backbuf_data[0];
|
||||||
cl->backbuf.maxsize = min(cl->netchan.message.maxsize, sizeof(cl->backbuf_data[0]));
|
cl->backbuf.maxsize = min(cl->netchan.message.maxsize, sizeof(cl->backbuf_data[0]));
|
||||||
|
@ -52,6 +53,7 @@ void ClientReliableCheckBlock(client_t *cl, int maxsize)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
memset(&cl->backbuf, 0, sizeof(cl->backbuf));
|
memset(&cl->backbuf, 0, sizeof(cl->backbuf));
|
||||||
|
cl->backbuf.prim = cl->netchan.message.prim;
|
||||||
cl->backbuf.allowoverflow = true;
|
cl->backbuf.allowoverflow = true;
|
||||||
cl->backbuf.data = cl->backbuf_data[cl->num_backbuf];
|
cl->backbuf.data = cl->backbuf_data[cl->num_backbuf];
|
||||||
cl->backbuf.maxsize = min(cl->netchan.message.maxsize, sizeof(cl->backbuf_data[cl->num_backbuf]));
|
cl->backbuf.maxsize = min(cl->netchan.message.maxsize, sizeof(cl->backbuf_data[cl->num_backbuf]));
|
||||||
|
|
|
@ -3607,6 +3607,7 @@ void SV_SendClientMessages (void)
|
||||||
if (c->num_backbuf)
|
if (c->num_backbuf)
|
||||||
{
|
{
|
||||||
memset(&c->backbuf, 0, sizeof(c->backbuf));
|
memset(&c->backbuf, 0, sizeof(c->backbuf));
|
||||||
|
c->backbuf.prim = c->netchan.message.prim;
|
||||||
c->backbuf.data = c->backbuf_data[c->num_backbuf - 1];
|
c->backbuf.data = c->backbuf_data[c->num_backbuf - 1];
|
||||||
c->backbuf.cursize = c->backbuf_size[c->num_backbuf - 1];
|
c->backbuf.cursize = c->backbuf_size[c->num_backbuf - 1];
|
||||||
c->backbuf.maxsize = min(c->netchan.message.maxsize, sizeof(c->backbuf_data[c->num_backbuf-1]));
|
c->backbuf.maxsize = min(c->netchan.message.maxsize, sizeof(c->backbuf_data[c->num_backbuf-1]));
|
||||||
|
|
Loading…
Reference in a new issue