]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
add three more places to send keepalives. No more disconnects for "redstarrepublic".
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 27 Feb 2009 11:18:18 +0000 (11:18 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 27 Feb 2009 11:18:18 +0000 (11:18 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8766 d7cf8633-e32d-0410-b094-e92efae38249

model_brush.c
model_shared.c

index 874892a93ddf07298a4c6c4d17f432c39e034453..1a92b2f5ae73c1815015e5268d6c214d084c7ecb 100644 (file)
@@ -4348,6 +4348,9 @@ static void Mod_Q3BSP_LoadBrushes(lump_t *l)
                }
                // make the colbrush from the planes
                out->colbrushf = Collision_NewBrushFromPlanes(loadmodel->mempool, out->numbrushsides, planes, out->texture->supercontents);
+
+               // this whole loop can take a while (e.g. on redstarrepublic4)
+               CL_KeepaliveMessage(false);
        }
        if (planes)
                Mem_Free(planes);
@@ -5983,6 +5986,9 @@ void Mod_Q3BSP_Load(dp_model_t *mod, void *buffer, void *bufferend)
                if (i == Q3LUMP_PVS || i == Q3LUMP_LEAFS || i == Q3LUMP_NODES)
                        continue;
                mod->brush.qw_md4sum2 ^= Com_BlockChecksum(mod_base + header->lumps[i].fileofs, header->lumps[i].filelen);
+
+               // all this checksumming can take a while, so let's send keepalives here too
+               CL_KeepaliveMessage(false);
        }
 
        Mod_Q3BSP_LoadEntities(&header->lumps[Q3LUMP_ENTITIES]);
index fb93d04f07db1cdf5e0d6fdf93b9da0bf2a4371b..70a093eed2440d7f34e02242ecc9de6e2dc42d75 100644 (file)
@@ -565,6 +565,9 @@ void Mod_BuildTriangleNeighbors(int *neighbors, const int *elements, int numtria
                                match = -1;
                        n[p] = match;
                }
+
+               // also send a keepalive here (this can take a while too!)
+               CL_KeepaliveMessage(false);
        }
        // free the allocated buffer
        if (edgehashentries != edgehashentriesbuffer)