void DeleteNames( INDEX iWorld ) { PWORLD world = GetSetMember( WORLD, &g.worlds, iWorld ); PNAMESET *ppNames = &world->names; ForAllInSet( NAME, *ppNames, (FAISCallback)DeleteAName, iWorld ); DeleteSet( (GENERICSET**)ppNames ); }
void SetDifference (Set S1, Set S2, Set *S3) { int i; CopySet(S1,&*S3); for (i=1;i<=SetNbElmt(S2);i++) { if (IsSetMember(*S3,S2.T[i])) DeleteSet(&*S3,S2.T[i]); } }
void ResetWorld( INDEX iWorld ) { PWORLD world = GetSetMember( WORLD, &g.worlds, iWorld ); //SectorIDs = 0; DeleteSectors( iWorld );// deletes walls also... // should probably check that all walls are now now treferences... DeleteSet( (PGENERICSET*)&world->walls ); // should probably check that all lines are now now treferences... DeleteSet( (PGENERICSET*)&world->lines ); DeleteTextures( iWorld ); DeleteNames( iWorld ); //if( world->spacetree ) //{ // Log( "Spaces remained on the tree..." ); // DeleteSpaceTree( &world->spacetree ); //} }
logical pc_SDB_Reference :: StoreAll (DBStructDef *strdefptr ) { DBFieldDef *dbflddef = NULL; int32 indx0 = strdefptr->get_base_info().get_count() + strdefptr->get_attr_info().get_count(); int32 count = indx0 + strdefptr->get_refr_info().get_count(); logical term = NO; BEGINSEQ DeleteSet(); SDBCERR while ( indx0 < count ) if ( dbflddef = strdefptr->GetEntry(++indx0) ) { ToTop(); Add(); SDBCERR if ( Store(dbflddef) ) term = YES; }
void DeleteTextures( INDEX iWorld ) { GETWORLD( iWorld ); ForAllTextures( iWorld, DeleteATexture, (uintptr_t)iWorld ); DeleteSet( (GENERICSET**)&world->textures ); }