//=========================================================================== // // Parameter: - // Returns: - // Changes Globals: - //=========================================================================== void Sin_LoadMapFromBSP(char *filename, int offset, int length) { int i; Log_Print("-- Sin_LoadMapFromBSP --\n"); //loaded map type loadedmaptype = MAPTYPE_SIN; Log_Print("Loading map from %s...\n", filename); //load the bsp file Sin_LoadBSPFile(filename, offset, length); //create an index from bsp planes to map planes //DPlanes2MapPlanes(); //clear brush model numbers for (i = 0; i < MAX_MAPFILE_BRUSHES; i++) brushmodelnumbers[i] = -1; nummapbrushsides = 0; num_entities = 0; Sin_ParseEntities(); // for (i = 0; i < num_entities; i++) { Sin_ParseBSPEntity(i); } //end for //get the map mins and maxs from the world model ClearBounds(map_mins, map_maxs); for (i = 0; i < entities[0].numbrushes; i++) { if (mapbrushes[i].mins[0] > 4096) { continue; //no valid points } AddPointToBounds(mapbrushes[i].mins, map_mins, map_maxs); AddPointToBounds(mapbrushes[i].maxs, map_mins, map_maxs); } //end for // Sin_CreateMapTexinfo(); } //end of the function Sin_LoadMapFromBSP
/* ============= Sin_PrintBSPFileSizes Dumps info about current file ============= */ void Sin_PrintBSPFileSizes( void ) { if ( !num_entities ) { Sin_ParseEntities(); } Log_Print( "%6i models %7i\n" ,sin_nummodels, (int)( sin_nummodels * sizeof( sin_dmodel_t ) ) ); Log_Print( "%6i brushes %7i\n" ,sin_numbrushes, (int)( sin_numbrushes * sizeof( sin_dbrush_t ) ) ); Log_Print( "%6i brushsides %7i\n" ,sin_numbrushsides, (int)( sin_numbrushsides * sizeof( sin_dbrushside_t ) ) ); Log_Print( "%6i planes %7i\n" ,sin_numplanes, (int)( sin_numplanes * sizeof( sin_dplane_t ) ) ); Log_Print( "%6i texinfo %7i\n" ,sin_numtexinfo, (int)( sin_numtexinfo * sizeof( sin_texinfo_t ) ) ); #ifdef SIN Log_Print( "%6i lightinfo %7i\n" ,sin_numlightinfo, (int)( sin_numlightinfo * sizeof( sin_lightvalue_t ) ) ); #endif Log_Print( "%6i entdata %7i\n", num_entities, sin_entdatasize ); Log_Print( "\n" ); Log_Print( "%6i vertexes %7i\n" ,sin_numvertexes, (int)( sin_numvertexes * sizeof( sin_dvertex_t ) ) ); Log_Print( "%6i nodes %7i\n" ,sin_numnodes, (int)( sin_numnodes * sizeof( sin_dnode_t ) ) ); Log_Print( "%6i faces %7i\n" ,sin_numfaces, (int)( sin_numfaces * sizeof( sin_dface_t ) ) ); Log_Print( "%6i leafs %7i\n" ,sin_numleafs, (int)( sin_numleafs * sizeof( sin_dleaf_t ) ) ); Log_Print( "%6i leaffaces %7i\n" ,sin_numleaffaces, (int)( sin_numleaffaces * sizeof( sin_dleaffaces[0] ) ) ); Log_Print( "%6i leafbrushes %7i\n" ,sin_numleafbrushes, (int)( sin_numleafbrushes * sizeof( sin_dleafbrushes[0] ) ) ); Log_Print( "%6i surfedges %7i\n" ,sin_numsurfedges, (int)( sin_numsurfedges * sizeof( sin_dsurfedges[0] ) ) ); Log_Print( "%6i edges %7i\n" ,sin_numedges, (int)( sin_numedges * sizeof( sin_dedge_t ) ) ); Log_Print( " lightdata %7i\n", sin_lightdatasize ); Log_Print( " visdata %7i\n", sin_visdatasize ); }