Fix hanging bug if A_ConnectToGround's supplied object's height is zero.
This commit is contained in:
parent
01dfe31c3c
commit
e054208a31
|
@ -11391,7 +11391,8 @@ void A_ConnectToGround(mobj_t *actor)
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
P_AdjustMobjFloorZ_FFloors(actor, actor->subsector->sector, 2);
|
if (actor->subsector->sector->ffloors)
|
||||||
|
P_AdjustMobjFloorZ_FFloors(actor, actor->subsector->sector, 2);
|
||||||
|
|
||||||
if (actor->flags2 & MF2_OBJECTFLIP)
|
if (actor->flags2 & MF2_OBJECTFLIP)
|
||||||
{
|
{
|
||||||
|
@ -11406,15 +11407,18 @@ void A_ConnectToGround(mobj_t *actor)
|
||||||
|
|
||||||
if (locvar2)
|
if (locvar2)
|
||||||
{
|
{
|
||||||
|
workh = FixedMul(mobjinfo[locvar2].height, actor->scale);
|
||||||
if (actor->flags2 & MF2_OBJECTFLIP)
|
if (actor->flags2 & MF2_OBJECTFLIP)
|
||||||
workz -= FixedMul(mobjinfo[locvar2].height, actor->scale);
|
workz -= workh;
|
||||||
work = P_SpawnMobjFromMobj(actor, 0, 0, workz, locvar2);
|
work = P_SpawnMobjFromMobj(actor, 0, 0, workz, locvar2);
|
||||||
|
workz += dir*workh;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!locvar1)
|
if (!locvar1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
workh = FixedMul(mobjinfo[locvar1].height, actor->scale);
|
if (!(workh = FixedMul(mobjinfo[locvar1].height, actor->scale)))
|
||||||
|
return;
|
||||||
|
|
||||||
if (actor->flags2 & MF2_OBJECTFLIP)
|
if (actor->flags2 & MF2_OBJECTFLIP)
|
||||||
workz -= workh;
|
workz -= workh;
|
||||||
|
|
Loading…
Reference in New Issue