Skip to content

Commit 42d388b

Browse files
committed
NUKE some duplicated code
1 parent cf856c3 commit 42d388b

File tree

2 files changed

+20
-91
lines changed

2 files changed

+20
-91
lines changed

src/engine/renderer/tr_backend.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,20 +1016,14 @@ static int MergeInteractionBounds( const matrix_t lightViewProjectionMatrix, int
10161016
}
10171017
}
10181018

1019-
if ( *surface == surfaceType_t::SF_FACE || *surface == surfaceType_t::SF_GRID || *surface == surfaceType_t::SF_TRIANGLES )
1019+
if ( *surface == surfaceType_t::SF_FACE || *surface == surfaceType_t::SF_GRID || *surface == surfaceType_t::SF_TRIANGLES
1020+
|| *surface == surfaceType_t::SF_VBO_MESH )
10201021
{
10211022
srfGeneric_t *gen = ( srfGeneric_t * ) surface;
10221023

10231024
VectorCopy( gen->bounds[ 0 ], worldBounds[ 0 ] );
10241025
VectorCopy( gen->bounds[ 1 ], worldBounds[ 1 ] );
10251026
}
1026-
else if ( *surface == surfaceType_t::SF_VBO_MESH )
1027-
{
1028-
srfVBOMesh_t *srf = ( srfVBOMesh_t * ) surface;
1029-
1030-
VectorCopy( srf->bounds[ 0 ], worldBounds[ 0 ] );
1031-
VectorCopy( srf->bounds[ 1 ], worldBounds[ 1 ] );
1032-
}
10331027
else if ( *surface == surfaceType_t::SF_MDV )
10341028
{
10351029
goto skipInteraction;

src/engine/renderer/tr_bsp.cpp

Lines changed: 18 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -2847,26 +2847,13 @@ static void R_CreateWorldVBO()
28472847
continue;
28482848
}
28492849

2850-
if ( *surface->data == surfaceType_t::SF_FACE )
2850+
if ( *surface->data == surfaceType_t::SF_FACE || *surface->data == surfaceType_t::SF_GRID
2851+
|| *surface->data == surfaceType_t::SF_TRIANGLES )
28512852
{
2852-
srfSurfaceFace_t *face = ( srfSurfaceFace_t * ) surface->data;
2853+
srfSurfaceFace_t* srf = ( srfSurfaceFace_t * ) surface->data;
28532854

2854-
numVerts += face->numVerts;
2855-
numTriangles += face->numTriangles;
2856-
}
2857-
else if ( *surface->data == surfaceType_t::SF_GRID )
2858-
{
2859-
srfGridMesh_t *grid = ( srfGridMesh_t * ) surface->data;
2860-
2861-
numVerts += grid->numVerts;
2862-
numTriangles += grid->numTriangles;
2863-
}
2864-
else if ( *surface->data == surfaceType_t::SF_TRIANGLES )
2865-
{
2866-
srfGeneric_t* tri = ( srfGeneric_t* ) surface->data;
2867-
2868-
numVerts += tri->numVerts;
2869-
numTriangles += tri->numTriangles;
2855+
numVerts += srf->numVerts;
2856+
numTriangles += srf->numTriangles;
28702857
}
28712858
else
28722859
{
@@ -3018,27 +3005,8 @@ static void R_CreateWorldVBO()
30183005
int numSurfVerts;
30193006
const srfTriangle_t *surfTriangle, *surfTriangleEnd;
30203007

3021-
if ( *surface->data == surfaceType_t::SF_FACE )
3022-
{
3023-
srfSurfaceFace_t *srf = ( srfSurfaceFace_t * ) surface->data;
3024-
3025-
srf->firstIndex = vboNumIndexes;
3026-
surfVerts = srf->verts;
3027-
numSurfVerts = srf->numVerts;
3028-
surfTriangle = srf->triangles;
3029-
surfTriangleEnd = surfTriangle + srf->numTriangles;
3030-
}
3031-
else if ( *surface->data == surfaceType_t::SF_GRID )
3032-
{
3033-
srfGridMesh_t *srf = ( srfGridMesh_t * ) surface->data;
3034-
3035-
srf->firstIndex = vboNumIndexes;
3036-
surfVerts = srf->verts;
3037-
numSurfVerts = srf->numVerts;
3038-
surfTriangle = srf->triangles;
3039-
surfTriangleEnd = surfTriangle + srf->numTriangles;
3040-
}
3041-
else if ( *surface->data == surfaceType_t::SF_TRIANGLES )
3008+
if ( *surface->data == surfaceType_t::SF_FACE || *surface->data == surfaceType_t::SF_GRID
3009+
|| *surface->data == surfaceType_t::SF_TRIANGLES )
30423010
{
30433011
srfGeneric_t* srf = ( srfGeneric_t* ) surface->data;
30443012

@@ -3174,21 +3142,12 @@ static void R_CreateWorldVBO()
31743142

31753143
oldViewCount = surf1->viewCount;
31763144

3177-
if ( *surf1->data == surfaceType_t::SF_FACE )
3145+
if ( *surf1->data == surfaceType_t::SF_FACE || *surf1->data == surfaceType_t::SF_TRIANGLES
3146+
|| *surf1->data == surfaceType_t::SF_GRID )
31783147
{
3179-
srfSurfaceFace_t *face = ( srfSurfaceFace_t * ) surf1->data;
3148+
srfGeneric_t* face = ( srfGeneric_t* ) surf1->data;
31803149
firstIndex = face->firstIndex;
31813150
}
3182-
else if ( *surf1->data == surfaceType_t::SF_TRIANGLES )
3183-
{
3184-
srfGeneric_t* tris = ( srfGeneric_t* ) surf1->data;
3185-
firstIndex = tris->firstIndex;
3186-
}
3187-
else if ( *surf1->data == surfaceType_t::SF_GRID )
3188-
{
3189-
srfGridMesh_t *grid = ( srfGridMesh_t * ) surf1->data;
3190-
firstIndex = grid->firstIndex;
3191-
}
31923151

31933152
// count verts and indexes and add bounds for the merged surface
31943153
ClearBounds( bounds[ 0 ], bounds[ 1 ] );
@@ -3202,26 +3161,13 @@ static void R_CreateWorldVBO()
32023161
break;
32033162
}
32043163

3205-
if ( *surf2->data == surfaceType_t::SF_FACE )
3164+
if ( *surf2->data == surfaceType_t::SF_FACE || *surf2->data == surfaceType_t::SF_TRIANGLES
3165+
|| *surf2->data == surfaceType_t::SF_GRID )
32063166
{
3207-
srfSurfaceFace_t *face = ( srfSurfaceFace_t * ) surf2->data;
3208-
surfIndexes += face->numTriangles * 3;
3209-
surfVerts += face->numVerts;
3210-
BoundsAdd( bounds[ 0 ], bounds[ 1 ], face->bounds[ 0 ], face->bounds[ 1 ] );
3211-
}
3212-
else if ( *surf2->data == surfaceType_t::SF_TRIANGLES )
3213-
{
3214-
srfGeneric_t* tris = ( srfGeneric_t* ) surf2->data;
3215-
surfIndexes += tris->numTriangles * 3;
3216-
surfVerts += tris->numVerts;
3217-
BoundsAdd( bounds[ 0 ], bounds[ 1 ], tris->bounds[ 0 ], tris->bounds[ 1 ] );
3218-
}
3219-
else if ( *surf2->data == surfaceType_t::SF_GRID )
3220-
{
3221-
srfGridMesh_t *grid = ( srfGridMesh_t * ) surf2->data;
3222-
surfIndexes += grid->numTriangles * 3;
3223-
surfVerts += grid->numVerts;
3224-
BoundsAdd( bounds[ 0 ], bounds[ 1 ], grid->bounds[ 0 ], grid->bounds[ 1 ] );
3167+
srfGeneric_t* srf = ( srfGeneric_t* ) surf2->data;
3168+
surfIndexes += srf->numTriangles * 3;
3169+
surfVerts += srf->numVerts;
3170+
BoundsAdd( bounds[ 0 ], bounds[ 1 ], srf->bounds[ 0 ], srf->bounds[ 1 ] );
32253171
}
32263172
}
32273173

@@ -3279,19 +3225,8 @@ static void R_CreateWorldVBO()
32793225
{
32803226
surface = surfaces[ k ];
32813227

3282-
if ( *surface->data == surfaceType_t::SF_FACE )
3283-
{
3284-
srfSurfaceFace_t *srf = ( srfSurfaceFace_t * ) surface->data;
3285-
srf->vbo = s_worldData.vbo;
3286-
srf->ibo = s_worldData.ibo;
3287-
}
3288-
else if ( *surface->data == surfaceType_t::SF_GRID )
3289-
{
3290-
srfGridMesh_t *srf = ( srfGridMesh_t * ) surface->data;
3291-
srf->vbo = s_worldData.vbo;
3292-
srf->ibo = s_worldData.ibo;
3293-
}
3294-
else if ( *surface->data == surfaceType_t::SF_TRIANGLES )
3228+
if ( *surface->data == surfaceType_t::SF_FACE || *surface->data == surfaceType_t::SF_GRID
3229+
|| *surface->data == surfaceType_t::SF_TRIANGLES )
32953230
{
32963231
srfGeneric_t* srf = ( srfGeneric_t* ) surface->data;
32973232
srf->vbo = s_worldData.vbo;

0 commit comments

Comments
 (0)