/* ============= HL_PrintBSPFileSizes Dumps info about current file ============= */ void HL_PrintBSPFileSizes(void) { int totalmemory = 0; qprintf("\n"); qprintf("Object names Objects/Maxobjs Memory / Maxmem Fullness\n" ); qprintf("------------ --------------- --------------- --------\n" ); totalmemory += ArrayUsage( "models", hl_nummodels, ENTRIES(hl_dmodels), ENTRYSIZE(hl_dmodels) ); totalmemory += ArrayUsage( "planes", hl_numplanes, ENTRIES(hl_dplanes), ENTRYSIZE(hl_dplanes) ); totalmemory += ArrayUsage( "vertexes", hl_numvertexes, ENTRIES(hl_dvertexes), ENTRYSIZE(hl_dvertexes) ); totalmemory += ArrayUsage( "nodes", hl_numnodes, ENTRIES(hl_dnodes), ENTRYSIZE(hl_dnodes) ); totalmemory += ArrayUsage( "texinfos", hl_numtexinfo, ENTRIES(hl_texinfo), ENTRYSIZE(hl_texinfo) ); totalmemory += ArrayUsage( "faces", hl_numfaces, ENTRIES(hl_dfaces), ENTRYSIZE(hl_dfaces) ); totalmemory += ArrayUsage( "clipnodes", hl_numclipnodes, ENTRIES(hl_dclipnodes), ENTRYSIZE(hl_dclipnodes) ); totalmemory += ArrayUsage( "leaves", hl_numleafs, ENTRIES(hl_dleafs), ENTRYSIZE(hl_dleafs) ); totalmemory += ArrayUsage( "marksurfaces",hl_nummarksurfaces,ENTRIES(hl_dmarksurfaces),ENTRYSIZE(hl_dmarksurfaces) ); totalmemory += ArrayUsage( "surfedges", hl_numsurfedges, ENTRIES(hl_dsurfedges), ENTRYSIZE(hl_dsurfedges) ); totalmemory += ArrayUsage( "edges", hl_numedges, ENTRIES(hl_dedges), ENTRYSIZE(hl_dedges) ); totalmemory += GlobUsage( "texdata", hl_texdatasize, sizeof(hl_dtexdata) ); totalmemory += GlobUsage( "lightdata", hl_lightdatasize, sizeof(hl_dlightdata) ); totalmemory += GlobUsage( "visdata", hl_visdatasize, sizeof(hl_dvisdata) ); totalmemory += GlobUsage( "entdata", hl_entdatasize, sizeof(hl_dentdata) ); qprintf( "=== Total BSP file data space used: %d bytes ===\n\n", totalmemory ); }
static HmEntry findFree(unsigned long size) { HmEntry entry = start; while (entry != NULL) { if (entry->status == HM_FREED && ENTRYSIZE(entry) >= size) break; entry = entry->next; } return entry; }
/* ============= PrintBSPFileSizes Dumps info about current file ============= */ void PrintBSPFileSizes (void) { int numtextures = texdatasize ? ((dmiptexlump_t*)dtexdata)->nummiptex : 0; int totalmemory = 0; printf("\n"); printf("Object names Objects/Maxobjs Memory / Maxmem Fullness\n" ); printf("------------ --------------- --------------- --------\n" ); totalmemory += ArrayUsage( "models", nummodels, ENTRIES(dmodels), ENTRYSIZE(dmodels) ); totalmemory += ArrayUsage( "planes", numplanes, ENTRIES(dplanes), ENTRYSIZE(dplanes) ); totalmemory += ArrayUsage( "vertexes", numvertexes, ENTRIES(dvertexes), ENTRYSIZE(dvertexes) ); totalmemory += ArrayUsage( "nodes", numnodes, ENTRIES(dnodes), ENTRYSIZE(dnodes) ); totalmemory += ArrayUsage( "texinfos", numtexinfo, ENTRIES(texinfo), ENTRYSIZE(texinfo) ); totalmemory += ArrayUsage( "faces", numfaces, ENTRIES(dfaces), ENTRYSIZE(dfaces) ); totalmemory += ArrayUsage( "clipnodes", numclipnodes, ENTRIES(dclipnodes), ENTRYSIZE(dclipnodes) ); totalmemory += ArrayUsage( "leaves", numleafs, ENTRIES(dleafs), ENTRYSIZE(dleafs) ); totalmemory += ArrayUsage( "marksurfaces", nummarksurfaces,ENTRIES(dmarksurfaces), ENTRYSIZE(dmarksurfaces) ); totalmemory += ArrayUsage( "surfedges", numsurfedges, ENTRIES(dsurfedges), ENTRYSIZE(dsurfedges) ); totalmemory += ArrayUsage( "edges", numedges, ENTRIES(dedges), ENTRYSIZE(dedges) ); totalmemory += GlobUsage( "texdata", texdatasize, sizeof(dtexdata) ); totalmemory += GlobUsage( "lightdata", lightdatasize, sizeof(dlightdata) ); totalmemory += GlobUsage( "visdata", visdatasize, sizeof(dvisdata) ); totalmemory += GlobUsage( "entdata", entdatasize, sizeof(dentdata) ); printf( "=== Total BSP file data space used: %d bytes ===\n", totalmemory ); }