- 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_top = NULL;
height_cur = NULL; height_cur = NULL;
height_max = -1; height_max = -1;
fakeActive = 0;
CurrentSkybox++; CurrentSkybox++;
} }
@ -157,6 +158,7 @@ void R_3D_LeaveSkybox()
height_top = current.height_top; height_top = current.height_top;
height_cur = current.height_cur; height_cur = current.height_cur;
height_max = current.height_max; height_max = current.height_max;
fakeActive = height_top != NULL;
CurrentSkybox--; CurrentSkybox--;
} }

View file

@ -762,7 +762,7 @@ void R_RenderActorView (AActor *actor, bool dontmaplines)
MaskedCycles.Reset(); MaskedCycles.Reset();
WallScanCycles.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_3D_ResetClip(); // reset clips (floor/ceiling)
R_SetupBuffer (); R_SetupBuffer ();

View file

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

View file

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