- use one of the new floating point special variables to store the portal plane height of the skybox things.

This commit is contained in:
Christoph Oelckers 2016-03-21 00:05:44 +01:00
commit 7ebb96f15c
9 changed files with 40 additions and 38 deletions

View file

@ -195,8 +195,8 @@ void FTraceInfo::EnterSectorPortal(int position, fixed_t frac, sector_t *enterse
if (aimdir != -1 && aimdir != position) return;
AActor *portal = entersec->SkyBoxes[position];
if (aimdir == sector_t::ceiling && portal->threshold < limitz) return;
else if (aimdir == sector_t::floor && portal->threshold > limitz) return;
if (aimdir == sector_t::ceiling && FLOAT2FIXED(portal->specialf1) < limitz) return;
else if (aimdir == sector_t::floor && FLOAT2FIXED(portal->specialf1) > limitz) return;
FTraceInfo newtrace;
FTraceResults results;
@ -229,7 +229,7 @@ void FTraceInfo::EnterSectorPortal(int position, fixed_t frac, sector_t *enterse
newtrace.inshootthrough = true;
newtrace.startfrac = frac;
newtrace.aimdir = position;
newtrace.limitz = portal->threshold;
newtrace.limitz = FLOAT2FIXED(portal->specialf1);
newtrace.sectorsel = 0;
if (newtrace.TraceTraverse(ActorMask ? PT_ADDLINES | PT_ADDTHINGS | PT_COMPATIBLE : PT_ADDLINES))