- Fixed: Heightsecs with SECF_FAKEFLOORONLY set should not clip sprites to the fake ceiling (since

it doesn't really exist).

SVN r3695 (trunk)
This commit is contained in:
Randy Heit 2012-06-17 03:28:04 +00:00
parent b982482f74
commit 61742ee3a9

View file

@ -656,7 +656,7 @@ void R_ProjectSprite (AActor *thing, int fakeside, F3DFloor *fakefloor, F3DFloor
{ {
if (gzt < heightsec->floorplane.ZatPoint (fx, fy)) if (gzt < heightsec->floorplane.ZatPoint (fx, fy))
return; return;
if (gzb >= heightsec->ceilingplane.ZatPoint (fx, fy)) if (!(heightsec->MoreFlags & SECF_FAKEFLOORONLY) && gzb >= heightsec->ceilingplane.ZatPoint (fx, fy))
return; return;
} }
} }
@ -1665,7 +1665,7 @@ void R_DrawSprite (vissprite_t *spr)
hzb = MAX(hzb, hz); hzb = MAX(hzb, hz);
} }
} }
if (spr->FakeFlatStat != FAKED_BelowFloor) if (spr->FakeFlatStat != FAKED_BelowFloor && !(spr->heightsec->MoreFlags & SECF_FAKEFLOORONLY))
{ {
fixed_t hz = spr->heightsec->ceilingplane.ZatPoint (spr->gx, spr->gy); fixed_t hz = spr->heightsec->ceilingplane.ZatPoint (spr->gx, spr->gy);
fixed_t h = (centeryfrac - FixedMul (hz-viewz, scale)) >> FRACBITS; fixed_t h = (centeryfrac - FixedMul (hz-viewz, scale)) >> FRACBITS;