Skip to content

Commit 83dffb2

Browse files
committed
Don't override SF_SKIP surfaces
1 parent b554ea3 commit 83dffb2

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 );
@@ -1023,6 +1024,10 @@ static void ParseFace( dsurface_t* ds, drawVert_t* verts, bspSurface_t* surf, in
10231024
ParseTriangleSurface( ds, verts, surf, indexes );
10241025

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

10281033
// take the plane information from the lightmap vector
@@ -1039,6 +1044,10 @@ static void ParseTriSurf( dsurface_t* ds, drawVert_t* verts, bspSurface_t* surf,
10391044
ParseTriangleSurface( ds, verts, surf, indexes );
10401045

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

10441053
plane_t plane;

0 commit comments

Comments
 (0)