/* * GClip_UnlinkEntity * call before removing an entity, and before trying to move one, * so it doesn't clip against itself */ void GClip_UnlinkEntity( edict_t *ent ) { if( !ent->r.area.prev ) return; // not linked in anywhere GClip_RemoveLink( &ent->r.area ); ent->r.area.prev = ent->r.area.next = NULL; ent->linked = qfalse; }
/* * GClip_UnlinkEntity_AreaGrid */ static void GClip_UnlinkEntity_AreaGrid( edict_t *ent ) { for( int i = 0; i < MAX_ENT_AREAS; i++ ) { if( !ent->areagrid[i].prev ) { break; } GClip_RemoveLink( &ent->areagrid[i] ); ent->areagrid[i].prev = ent->areagrid[i].next = NULL; } }