Skip to content

Commit f9f73f4

Browse files
committed
Don't override SF_SKIP surfaces
1 parent 19c42de commit f9f73f4

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/engine/renderer/tr_bsp.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -875,6 +875,7 @@ static void ParseTriangleSurface( dsurface_t* ds, drawVert_t* verts, bspSurface_
875875
}
876876

877877
srfGeneric_t* cv = ( srfGeneric_t* ) ri.Hunk_Alloc( sizeof( *cv ), ha_pref::h_low );
878+
cv->surfaceType = surfaceType_t::SF_BAD; // Will be set later by ParseFace() or ParseTriSurf()
878879

879880
cv->numTriangles = LittleLong( ds->numIndexes ) / 3;
880881
cv->triangles = ( srfTriangle_t* ) ri.Hunk_Alloc( cv->numTriangles * sizeof( cv->triangles[0] ), ha_pref::h_low );
@@ -1022,6 +1023,10 @@ static void ParseFace( dsurface_t* ds, drawVert_t* verts, bspSurface_t* surf, in
10221023
ParseTriangleSurface( ds, verts, surf, indexes );
10231024

10241025
srfGeneric_t* surface = ( srfGeneric_t* ) surf->data;
1026+
if ( surface->surfaceType == surfaceType_t::SF_SKIP ) {
1027+
return;
1028+
}
1029+
10251030
surface->surfaceType = surfaceType_t::SF_FACE;
10261031

10271032
// take the plane information from the lightmap vector
@@ -1038,6 +1043,10 @@ static void ParseTriSurf( dsurface_t* ds, drawVert_t* verts, bspSurface_t* surf,
10381043
ParseTriangleSurface( ds, verts, surf, indexes );
10391044

10401045
srfGeneric_t* surface = ( srfGeneric_t* ) surf->data;
1046+
if ( surface->surfaceType == surfaceType_t::SF_SKIP ) {
1047+
return;
1048+
}
1049+
10411050
surface->surfaceType = surfaceType_t::SF_TRIANGLES;
10421051

10431052
plane_t plane;

0 commit comments

Comments
 (0)