- Fixed: Skyboxes never cleared planes when a 3D floor was in view.

SVN r4164 (trunk)
This commit is contained in:
Randy Heit 2013-02-23 05:15:32 +00:00
parent 4f3a03f2f4
commit 2919bdf4fe
4 changed files with 8 additions and 6 deletions

View file

@ -140,6 +140,7 @@ void R_3D_EnterSkybox()
height_top = NULL;
height_cur = NULL;
height_max = -1;
fakeActive = 0;
CurrentSkybox++;
}
@ -157,6 +158,7 @@ void R_3D_LeaveSkybox()
height_top = current.height_top;
height_cur = current.height_cur;
height_max = current.height_max;
fakeActive = height_top != NULL;
CurrentSkybox--;
}

View file

@ -762,7 +762,7 @@ void R_RenderActorView (AActor *actor, bool dontmaplines)
MaskedCycles.Reset();
WallScanCycles.Reset();
fakeActive = 0; // kg3D - reset fake floor idicator
fakeActive = 0; // kg3D - reset fake floor indicator
R_3D_ResetClip(); // reset clips (floor/ceiling)
R_SetupBuffer ();

View file

@ -1002,15 +1002,15 @@ static void R_DrawSkyStriped (visplane_t *pl)
CVAR (Bool, tilt, false, 0);
//CVAR (Int, pa, 0, 0)
void R_DrawPlanes ()
int R_DrawPlanes ()
{
visplane_t *pl;
int i;
int vpcount;
int vpcount = 0;
ds_color = 3;
for (i = vpcount = 0; i < MAXVISPLANES; i++)
for (i = 0; i < MAXVISPLANES; i++)
{
for (pl = visplanes[i]; pl; pl = pl->next)
{
@ -1024,6 +1024,7 @@ void R_DrawPlanes ()
}
}
}
return vpcount;
}
// kg3D - draw all visplanes with "height"
@ -1329,7 +1330,6 @@ void R_DrawSkyBoxes ()
for (*freehead = visplanes[MAXVISPLANES], visplanes[MAXVISPLANES] = NULL; *freehead; )
freehead = &(*freehead)->next;
}
ADD_STAT(skyboxes)

View file

@ -87,7 +87,7 @@ void R_InitPlanes ();
void R_DeinitPlanes ();
void R_ClearPlanes (bool fullclear);
void R_DrawPlanes ();
int R_DrawPlanes ();
void R_DrawSkyBoxes ();
void R_DrawSkyPlane (visplane_t *pl);
void R_DrawNormalPlane (visplane_t *pl, fixed_t alpha, bool additive, bool masked);