@@ -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