void GrabPool( CPool *pool ) { CGMSurfPool *gmsurface = &gmsurf->GetSurfPool<EntType>(); gmsurface->edicts = Mem_Relloc( gmsurf->mempool, gmsurface->edicts, pool[0]->size * sizeof(edict_t*) ); // Cheak dynamic size EntType *ent = ( EntType *) pool[0]->objects; for (dword i=0;i<pool[0]->size;i++) { edict_t *edict = gmsurf->edicts[i]; IUnknown *unk = edict->pvUnknown; if ( !edict->free ) { if ( edict->pvPrivateData != edict->pvUnknown->gameent ) { if ( ent == NULL ) // if not valid { unk->Distroy( edict ); edict = NULL } else unk->Reconnect( edict ); // Reconnect to ISaveRestore or INetClass subsystem // edict = Game->ReallocEdict( edict ); } (CVCUnknown*)unk->IsCheak = true; }