std::vector<bspFog_t> bspFogs
This commit is contained in:
parent
4642753564
commit
ce0dd55cc5
|
|
@ -296,8 +296,8 @@ int pk3BSPMain( Args& args ){
|
|||
}
|
||||
}
|
||||
|
||||
for( i = 0; i < numBSPFogs; ++i ){
|
||||
res2list( pk3Shaders, bspFogs[i].shader );
|
||||
for( const bspFog_t& fog : bspFogs ){
|
||||
res2list( pk3Shaders, fog.shader );
|
||||
}
|
||||
|
||||
//levelshot
|
||||
|
|
@ -959,8 +959,8 @@ int repackBSPMain( Args& args ){
|
|||
}
|
||||
}
|
||||
|
||||
for( i = 0; i < numBSPFogs; ++i ){
|
||||
res2list( pk3Shaders, bspFogs[i].shader );
|
||||
for( const bspFog_t& fog : bspFogs ){
|
||||
res2list( pk3Shaders, fog.shader );
|
||||
}
|
||||
|
||||
//levelshot
|
||||
|
|
@ -986,7 +986,7 @@ int repackBSPMain( Args& args ){
|
|||
|
||||
bspEntData.clear();
|
||||
|
||||
numBSPFogs = 0;
|
||||
bspFogs.clear();
|
||||
}
|
||||
|
||||
if( analyze )
|
||||
|
|
|
|||
|
|
@ -164,10 +164,10 @@ void SwapBSPFile( void ){
|
|||
SwapBlock( bspDrawSurfaces );
|
||||
|
||||
/* fogs */
|
||||
for ( i = 0; i < numBSPFogs; i++ )
|
||||
for ( bspFog_t& fog : bspFogs )
|
||||
{
|
||||
bspFogs[ i ].brushNum = LittleLong( bspFogs[ i ].brushNum );
|
||||
bspFogs[ i ].visibleSide = LittleLong( bspFogs[ i ].visibleSide );
|
||||
fog.brushNum = LittleLong( fog.brushNum );
|
||||
fog.visibleSide = LittleLong( fog.visibleSide );
|
||||
}
|
||||
|
||||
/* advertisements */
|
||||
|
|
@ -381,8 +381,8 @@ void PrintBSPFileSizes( void ){
|
|||
bspBrushes.size(), bspBrushes.size() * sizeof( bspBrushes[0] ) );
|
||||
Sys_Printf( "%9zu brushsides %9zu *\n",
|
||||
bspBrushSides.size(), bspBrushSides.size() * sizeof( bspBrushSides[0] ) );
|
||||
Sys_Printf( "%9d fogs %9d\n",
|
||||
numBSPFogs, (int) ( numBSPFogs * sizeof( bspFog_t ) ) );
|
||||
Sys_Printf( "%9zu fogs %9zu\n",
|
||||
bspFogs.size(), bspFogs.size() * sizeof( bspFogs[0] ) );
|
||||
Sys_Printf( "%9zu planes %9zu\n",
|
||||
bspPlanes.size(), bspPlanes.size() * sizeof( bspPlanes[0] ) );
|
||||
Sys_Printf( "%9zu entdata %9zu\n",
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ void LoadIBSPFile( const char *filename ){
|
|||
|
||||
CopyLump<bspDrawSurface_t, ibspDrawSurface_t>( (bspHeader_t*) header, LUMP_SURFACES, bspDrawSurfaces );
|
||||
|
||||
numBSPFogs = CopyLump( (bspHeader_t*) header, LUMP_FOGS, bspFogs, sizeof( bspFog_t ) ); // TODO fix overflow
|
||||
CopyLump( (bspHeader_t*) header, LUMP_FOGS, bspFogs );
|
||||
|
||||
CopyLump( (bspHeader_t*) header, LUMP_DRAWINDEXES, bspDrawIndexes );
|
||||
|
||||
|
|
@ -305,7 +305,7 @@ void PartialLoadIBSPFile( const char *filename ){
|
|||
|
||||
CopyLump<bspDrawSurface_t, ibspDrawSurface_t>( (bspHeader_t*) header, LUMP_SURFACES, bspDrawSurfaces );
|
||||
|
||||
numBSPFogs = CopyLump( (bspHeader_t*) header, LUMP_FOGS, bspFogs, sizeof( bspFog_t ) ); // TODO fix overflow
|
||||
CopyLump( (bspHeader_t*) header, LUMP_FOGS, bspFogs );
|
||||
|
||||
CopyLump( (bspHeader_t*) header, LUMP_ENTITIES, bspEntData );
|
||||
|
||||
|
|
@ -362,7 +362,7 @@ void WriteIBSPFile( const char *filename ){
|
|||
AddLump( file, header->lumps[LUMP_LIGHTMAPS], bspLightBytes );
|
||||
AddLump( file, header->lumps[LUMP_LIGHTGRID], std::vector<ibspGridPoint_t>( bspGridPoints.begin(), bspGridPoints.end() ) );
|
||||
AddLump( file, header->lumps[LUMP_ENTITIES], bspEntData );
|
||||
AddLump( file, (bspHeader_t*) header, LUMP_FOGS, bspFogs, numBSPFogs * sizeof( bspFog_t ) );
|
||||
AddLump( file, header->lumps[LUMP_FOGS], bspFogs );
|
||||
AddLump( file, header->lumps[LUMP_DRAWINDEXES], bspDrawIndexes );
|
||||
|
||||
/* advertisements */
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ void LoadRBSPFile( const char *filename ){
|
|||
|
||||
CopyLump( (bspHeader_t*) header, LUMP_SURFACES, bspDrawSurfaces );
|
||||
|
||||
numBSPFogs = CopyLump( (bspHeader_t*) header, LUMP_FOGS, bspFogs, sizeof( bspFogs[ 0 ] ) );
|
||||
CopyLump( (bspHeader_t*) header, LUMP_FOGS, bspFogs );
|
||||
|
||||
CopyLump( (bspHeader_t*) header, LUMP_DRAWINDEXES, bspDrawIndexes );
|
||||
|
||||
|
|
@ -286,7 +286,7 @@ void WriteRBSPFile( const char *filename ){
|
|||
AddLump( file, header->lumps[LUMP_LIGHTMAPS], bspLightBytes );
|
||||
AddLightGridLumps( file, header );
|
||||
AddLump( file, header->lumps[LUMP_ENTITIES], bspEntData );
|
||||
AddLump( file, (bspHeader_t*) header, LUMP_FOGS, bspFogs, numBSPFogs * sizeof( bspFog_t ) );
|
||||
AddLump( file, header->lumps[LUMP_FOGS], bspFogs );
|
||||
AddLump( file, header->lumps[LUMP_DRAWINDEXES], bspDrawIndexes );
|
||||
|
||||
/* emit bsp size */
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ static void write_json( const char *directory ){
|
|||
}
|
||||
{
|
||||
doc.RemoveAllMembers();
|
||||
for_indexed( auto&& fog : Span( bspFogs, numBSPFogs ) ){
|
||||
for_indexed( const auto& fog : bspFogs ){
|
||||
rapidjson::Value value( rapidjson::kObjectType );
|
||||
value.AddMember( "shader", rapidjson::StringRef( fog.shader ), all );
|
||||
value.AddMember( "brushNum", fog.brushNum, all );
|
||||
|
|
@ -501,15 +501,12 @@ static void read_json( const char *directory ){
|
|||
}
|
||||
{
|
||||
const auto doc = load_json( StringOutputStream( 256 )( directory, "fogs.json" ) );
|
||||
static std::vector<bspFog_t> items;
|
||||
for( auto&& obj : doc.GetObj() ){
|
||||
auto&& item = items.emplace_back();
|
||||
auto&& item = bspFogs.emplace_back();
|
||||
strcpy( item.shader, obj.value["shader"].GetString() );
|
||||
item.brushNum = obj.value["brushNum"].GetInt();
|
||||
item.visibleSide = obj.value["visibleSide"].GetInt();
|
||||
}
|
||||
std::copy( items.begin(), items.end(), bspFogs );
|
||||
numBSPFogs = items.size();
|
||||
}
|
||||
{
|
||||
const auto doc = load_json( StringOutputStream( 256 )( directory, "DrawIndexes.json" ) );
|
||||
|
|
|
|||
|
|
@ -2359,8 +2359,7 @@ Q_EXTERN std::vector<int> bspDrawIndexes;
|
|||
|
||||
Q_EXTERN std::vector<bspDrawSurface_t> bspDrawSurfaces; // MAX_MAP_DRAW_SURFS
|
||||
|
||||
Q_EXTERN int numBSPFogs Q_ASSIGN( 0 );
|
||||
Q_EXTERN bspFog_t bspFogs[ MAX_MAP_FOGS ];
|
||||
Q_EXTERN std::vector<bspFog_t> bspFogs; // MAX_MAP_FOGS
|
||||
|
||||
Q_EXTERN int numBSPAds Q_ASSIGN( 0 );
|
||||
Q_EXTERN bspAdvertisement_t bspAds[ MAX_MAP_ADVERTISEMENTS ];
|
||||
|
|
|
|||
|
|
@ -411,17 +411,13 @@ void EmitBrushes( brushlist_t& brushes, int *firstBrush, int *numBrushes ){
|
|||
*/
|
||||
|
||||
void EmitFogs( void ){
|
||||
/* setup */
|
||||
numBSPFogs = numMapFogs;
|
||||
|
||||
/* walk list */
|
||||
for ( int i = 0; i < numMapFogs; i++ )
|
||||
{
|
||||
const fog_t& fog = mapFogs[i];
|
||||
bspFog_t& bspFog = bspFogs[i];
|
||||
bspFog_t& bspFog = bspFogs.emplace_back();
|
||||
/* set shader */
|
||||
// copy and clear the rest of memory
|
||||
strncpy( bspFog.shader, fog.si->shader, sizeof( bspFog.shader ) );
|
||||
strcpy( bspFog.shader, fog.si->shader );
|
||||
|
||||
/* global fog doesn't have an associated brush */
|
||||
if ( fog.brush == NULL ) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user