Fixed slope walls displaying sprites through them if they weren't completely above you

Sadly this does not fix ALL sprite issues, but just some of them at the least
This commit is contained in:
Monster Iestyn 2016-03-12 19:59:32 +00:00
parent 436bcdf19a
commit c67683eb0a

View file

@ -1859,7 +1859,10 @@ void R_StoreWallRange(INT32 start, INT32 stop)
{ {
ds_p->silhouette = SIL_BOTTOM; ds_p->silhouette = SIL_BOTTOM;
#ifdef ESLOPE #ifdef ESLOPE
ds_p->bsilheight = (frontsector->f_slope ? INT32_MAX : frontsector->floorheight); if ((backsector->f_slope ? P_GetZAt(backsector->f_slope, viewx, viewy) : backsector->floorheight) > viewz)
ds_p->bsilheight = INT32_MAX;
else
ds_p->bsilheight = (frontsector->f_slope ? INT32_MAX : frontsector->floorheight);
#else #else
ds_p->bsilheight = frontsector->floorheight; ds_p->bsilheight = frontsector->floorheight;
#endif #endif
@ -1883,7 +1886,10 @@ void R_StoreWallRange(INT32 start, INT32 stop)
{ {
ds_p->silhouette |= SIL_TOP; ds_p->silhouette |= SIL_TOP;
#ifdef ESLOPE #ifdef ESLOPE
ds_p->tsilheight = (frontsector->c_slope ? INT32_MIN : frontsector->ceilingheight); if ((backsector->c_slope ? P_GetZAt(backsector->c_slope, viewx, viewy) : backsector->ceilingheight) < viewz)
ds_p->tsilheight = INT32_MIN;
else
ds_p->tsilheight = (frontsector->c_slope ? INT32_MIN : frontsector->ceilingheight);
#else #else
ds_p->tsilheight = frontsector->ceilingheight; ds_p->tsilheight = frontsector->ceilingheight;
#endif #endif