summaryrefslogtreecommitdiff
path: root/source/gl_sky.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/gl_sky.c')
-rw-r--r--source/gl_sky.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/source/gl_sky.c b/source/gl_sky.c
index 075cbaf..90519de 100644
--- a/source/gl_sky.c
+++ b/source/gl_sky.c
@@ -236,22 +236,25 @@ static void ClipSkyPolygon (int nump, vec3_t vecs, int stage)
R_AddSkySurface
=================
*/
-void R_AddSkySurface( bspSurface_t *fa ) {
+void R_AddSkySurface( mface_t *fa ) {
int i;
vec3_t verts[MAX_CLIP_VERTS];
- vec_t *vert;
+ msurfedge_t *surfedge;
+ mvertex_t *vert;
+ medge_t *edge;
- if( fa->numVerts > MAX_CLIP_VERTS ) {
+ if( fa->numsurfedges > MAX_CLIP_VERTS ) {
Com_Error( ERR_DROP, "%s: too many verts", __func__ );
}
// calculate vertex values for sky box
- vert = fa->vertices;
- for (i=0 ; i<fa->numVerts ; i++) {
- VectorSubtract (vert, modelViewOrigin, verts[i]);
- vert += 3;
+ surfedge = fa->firstsurfedge;
+ for( i = 0; i < fa->numsurfedges; i++, surfedge++ ) {
+ edge = surfedge->edge;
+ vert = edge->v[surfedge->vert];
+ VectorSubtract (vert->point, modelViewOrigin, verts[i]);
}
- ClipSkyPolygon (fa->numVerts, verts[0], 0);
+ ClipSkyPolygon (fa->numsurfedges, verts[0], 0);
}
@@ -391,7 +394,7 @@ void R_SetSky( const char *name, float rotate, vec3_t axis ) {
for( i = 0; i < 6; i++ ) {
Q_concat( pathname, sizeof( pathname ),
"env/", name, suf[i], ".tga", NULL );
- sky_images[i] = R_FindImage( pathname, it_sky );
+ sky_images[i] = IMG_Find( pathname, it_sky );
if( !sky_images[i] ) {
R_UnsetSky();
return;