- converted g_strife to full floating point use, except the floor height changing stuff in A_LightGoesOut.
This commit is contained in:
parent
5a4b974187
commit
a652c061f6
36 changed files with 192 additions and 493 deletions
|
|
@ -292,7 +292,7 @@ void P_GetFloorCeilingZ(FCheckPosition &tmf, int flags)
|
|||
F3DFloor *ffc, *fff;
|
||||
|
||||
tmf.ceilingz = FIXED2DBL(sec->NextHighestCeilingAt(tmf.x, tmf.y, tmf.z, tmf.z + tmf.thing->_f_height(), flags, &tmf.ceilingsector, &ffc));
|
||||
tmf.dropoffz = sec->NextLowestFloorAt(tmf.x, tmf.y, tmf.z, flags, tmf.thing->MaxStepHeight, &tmf.floorsector, &fff);
|
||||
tmf.dropoffz = sec->NextLowestFloorAt(tmf.x, tmf.y, tmf.z, flags, tmf.thing->_f_MaxStepHeight(), &tmf.floorsector, &fff);
|
||||
tmf.floorz = FIXED2DBL(tmf.dropoffz);
|
||||
|
||||
if (fff)
|
||||
|
|
@ -1224,7 +1224,7 @@ bool PIT_CheckThing(FMultiBlockThingsIterator &it, FMultiBlockThingsIterator::Ch
|
|||
{
|
||||
// [RH] Let monsters walk on actors as well as floors
|
||||
if ((tm.thing->flags3 & MF3_ISMONSTER) &&
|
||||
topz >= tm._f_floorz() && topz <= tm.thing->_f_Z() + tm.thing->MaxStepHeight)
|
||||
topz >= tm._f_floorz() && topz <= tm.thing->_f_Z() + tm.thing->_f_MaxStepHeight())
|
||||
{
|
||||
// The commented-out if is an attempt to prevent monsters from walking off a
|
||||
// thing further than they would walk off a ledge. I can't think of an easy
|
||||
|
|
@ -1549,7 +1549,7 @@ bool PIT_CheckThing(FMultiBlockThingsIterator &it, FMultiBlockThingsIterator::Ch
|
|||
// [RH] The next condition is to compensate for the extra height
|
||||
// that gets added by P_CheckPosition() so that you cannot pick
|
||||
// up things that are above your true height.
|
||||
&& thing->_f_Z() < tm.thing->_f_Top() - tm.thing->MaxStepHeight)
|
||||
&& thing->Z() < tm.thing->Top() - tm.thing->MaxStepHeight)
|
||||
{ // Can be picked up by tmthing
|
||||
P_TouchSpecialThing(thing, tm.thing); // can remove thing
|
||||
}
|
||||
|
|
@ -1645,7 +1645,7 @@ bool P_CheckPosition(AActor *thing, fixed_t x, fixed_t y, FCheckPosition &tm, bo
|
|||
thingblocker = NULL;
|
||||
if (thing->player)
|
||||
{ // [RH] Fake taller height to catch stepping up into things.
|
||||
thing->Height = realHeight + FIXED2DBL(thing->MaxStepHeight);
|
||||
thing->Height = realHeight + thing->MaxStepHeight;
|
||||
}
|
||||
|
||||
tm.stepthing = NULL;
|
||||
|
|
@ -1671,17 +1671,17 @@ bool P_CheckPosition(AActor *thing, fixed_t x, fixed_t y, FCheckPosition &tm, bo
|
|||
return false;
|
||||
}
|
||||
else if (!BlockingMobj->player && !(thing->flags & (MF_FLOAT | MF_MISSILE | MF_SKULLFLY)) &&
|
||||
BlockingMobj->_f_Top() - thing->_f_Z() <= thing->MaxStepHeight)
|
||||
BlockingMobj->Top() - thing->Z() <= thing->MaxStepHeight)
|
||||
{
|
||||
if (thingblocker == NULL ||
|
||||
BlockingMobj->_f_Z() > thingblocker->_f_Z())
|
||||
BlockingMobj->Z() > thingblocker->Z())
|
||||
{
|
||||
thingblocker = BlockingMobj;
|
||||
}
|
||||
thing->BlockingMobj = NULL;
|
||||
}
|
||||
else if (thing->player &&
|
||||
thing->_f_Top() - BlockingMobj->_f_Z() <= thing->MaxStepHeight)
|
||||
thing->Top() - BlockingMobj->Z() <= thing->MaxStepHeight)
|
||||
{
|
||||
if (thingblocker)
|
||||
{ // There is something to step up on. Return this thing as
|
||||
|
|
@ -2054,8 +2054,8 @@ bool P_TryMove(AActor *thing, fixed_t x, fixed_t y,
|
|||
{
|
||||
goto pushline;
|
||||
}
|
||||
else if (BlockingMobj->_f_Top() - thing->_f_Z() > thing->MaxStepHeight
|
||||
|| (BlockingMobj->Sector->ceilingplane.ZatPoint(x, y) - (BlockingMobj->_f_Top()) < thing->_f_height())
|
||||
else if (BlockingMobj->Top() - thing->Z() > thing->MaxStepHeight
|
||||
|| (BlockingMobj->Sector->ceilingplane._f_ZatPointF(x, y) - (BlockingMobj->Top()) < thing->Height)
|
||||
|| (tm.ceilingz - (BlockingMobj->Top()) < thing->Height))
|
||||
{
|
||||
goto pushline;
|
||||
|
|
@ -2124,7 +2124,7 @@ bool P_TryMove(AActor *thing, fixed_t x, fixed_t y,
|
|||
{ // [RH] Don't let normal missiles climb steps
|
||||
goto pushline;
|
||||
}
|
||||
if (tm._f_floorz() - thing->_f_Z() > thing->MaxStepHeight)
|
||||
if (tm.floorz - thing->Z() > thing->MaxStepHeight)
|
||||
{ // too big a step up
|
||||
goto pushline;
|
||||
}
|
||||
|
|
@ -2569,7 +2569,7 @@ bool P_CheckMove(AActor *thing, fixed_t x, fixed_t y)
|
|||
}
|
||||
if (!(thing->flags & MF_TELEPORT) && !(thing->flags3 & MF3_FLOORHUGGER))
|
||||
{
|
||||
if (tm._f_floorz() - newz > thing->MaxStepHeight)
|
||||
if (tm._f_floorz() - newz > thing->_f_MaxStepHeight())
|
||||
{ // too big a step up
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3034,7 +3034,7 @@ const secplane_t * P_CheckSlopeWalk(AActor *actor, fixed_t &xmove, fixed_t &ymov
|
|||
|
||||
fixed_t thisplanez = rover->top.plane->ZatPoint(pos);
|
||||
|
||||
if (thisplanez>planezhere && thisplanez <= actor->_f_Z() + actor->MaxStepHeight)
|
||||
if (thisplanez>planezhere && thisplanez <= actor->_f_Z() + actor->_f_MaxStepHeight())
|
||||
{
|
||||
copyplane = *rover->top.plane;
|
||||
if (copyplane.c<0) copyplane.FlipVert();
|
||||
|
|
@ -3052,7 +3052,7 @@ const secplane_t * P_CheckSlopeWalk(AActor *actor, fixed_t &xmove, fixed_t &ymov
|
|||
|
||||
fixed_t thisplanez = rover->top.plane->ZatPoint(actor);
|
||||
|
||||
if (thisplanez>planezhere && thisplanez <= actor->_f_Z() + actor->MaxStepHeight)
|
||||
if (thisplanez>planezhere && thisplanez <= actor->_f_Z() + actor->_f_MaxStepHeight())
|
||||
{
|
||||
copyplane = *rover->top.plane;
|
||||
if (copyplane.c<0) copyplane.FlipVert();
|
||||
|
|
@ -3107,7 +3107,7 @@ const secplane_t * P_CheckSlopeWalk(AActor *actor, fixed_t &xmove, fixed_t &ymov
|
|||
pos.x += xmove;
|
||||
pos.y += ymove;
|
||||
|
||||
if (sec->floorplane.ZatPoint(pos) >= actor->_f_Z() - actor->MaxStepHeight)
|
||||
if (sec->floorplane.ZatPoint(pos) >= actor->_f_Z() - actor->_f_MaxStepHeight())
|
||||
{
|
||||
dopush = false;
|
||||
break;
|
||||
|
|
@ -5086,7 +5086,7 @@ bool P_NoWayTraverse(AActor *usething, fixed_t startx, fixed_t starty, fixed_t e
|
|||
if (ld->flags&(ML_BLOCKING | ML_BLOCKEVERYTHING | ML_BLOCK_PLAYERS)) return true;
|
||||
P_LineOpening(open, NULL, ld, it.InterceptPoint(in));
|
||||
if (open.range <= 0 ||
|
||||
open.bottom > usething->_f_Z() + usething->MaxStepHeight ||
|
||||
open.bottom > usething->_f_Z() + usething->_f_MaxStepHeight() ||
|
||||
open.top < usething->_f_Top()) return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue