From 48445bb427444f56ab1ea5135d7b448cff47a25f Mon Sep 17 00:00:00 2001 From: havoc Date: Sun, 12 Feb 2006 05:35:37 +0000 Subject: [PATCH] rollback recent network compression changes, it really does have to be reset on level change because the client expects it to be, another solution must be found git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5970 d7cf8633-e32d-0410-b094-e92efae38249 --- sv_main.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/sv_main.c b/sv_main.c index 3007fa61..b817cc97 100644 --- a/sv_main.c +++ b/sv_main.c @@ -306,7 +306,24 @@ void SV_SendServerinfo (client_t *client) client->weaponmodelindex = 0; // LordHavoc: clear entityframe tracking - //client->latestframenum = 0; + client->latestframenum = 0; + + if (client->entitydatabase) + EntityFrame_FreeDatabase(client->entitydatabase); + if (client->entitydatabase4) + EntityFrame4_FreeDatabase(client->entitydatabase4); + if (client->entitydatabase5) + EntityFrame5_FreeDatabase(client->entitydatabase5); + + if (sv.protocol != PROTOCOL_QUAKE && sv.protocol != PROTOCOL_QUAKEDP && sv.protocol != PROTOCOL_NEHAHRAMOVIE) + { + if (sv.protocol == PROTOCOL_DARKPLACES1 || sv.protocol == PROTOCOL_DARKPLACES2 || sv.protocol == PROTOCOL_DARKPLACES3) + client->entitydatabase = EntityFrame_AllocDatabase(sv_mempool); + else if (sv.protocol == PROTOCOL_DARKPLACES4) + client->entitydatabase4 = EntityFrame4_AllocDatabase(sv_mempool); + else + client->entitydatabase5 = EntityFrame5_AllocDatabase(sv_mempool); + } SZ_Clear (&client->netconnection->message); MSG_WriteByte (&client->netconnection->message, svc_print); @@ -418,19 +435,7 @@ void SV_ConnectClient (int clientnum, netconn_t *netconnection) // don't call SendServerinfo for a fresh botclient because its fields have // not been set up by the qc yet if (client->netconnection) - { SV_SendServerinfo (client); - if (sv.protocol != PROTOCOL_QUAKE && sv.protocol != PROTOCOL_QUAKEDP && sv.protocol != PROTOCOL_NEHAHRAMOVIE) - { - if (sv.protocol == PROTOCOL_DARKPLACES1 || sv.protocol == PROTOCOL_DARKPLACES2 || sv.protocol == PROTOCOL_DARKPLACES3) - client->entitydatabase = EntityFrame_AllocDatabase(sv_mempool); - else if (sv.protocol == PROTOCOL_DARKPLACES4) - client->entitydatabase4 = EntityFrame4_AllocDatabase(sv_mempool); - else - client->entitydatabase5 = EntityFrame5_AllocDatabase(sv_mempool); - } - - } else client->spawned = true; } -- 2.39.2