mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'bounceremoved' into 'master'
Attempt to fix invalid mobj ref during bouncing See merge request KartKrew/Kart!526
This commit is contained in:
commit
b39853d7a1
2 changed files with 13 additions and 1 deletions
|
|
@ -3732,7 +3732,7 @@ stairstep:
|
|||
tmymove = 0;
|
||||
}
|
||||
if (!P_TryMove(mo, newx, newy, true)) {
|
||||
if (success)
|
||||
if (success || P_MobjWasRemoved(mo))
|
||||
return; // Good enough!!
|
||||
else
|
||||
goto retry;
|
||||
|
|
@ -3856,6 +3856,9 @@ void P_BounceMove(mobj_t *mo)
|
|||
INT32 hitcount;
|
||||
fixed_t mmomx = 0, mmomy = 0;
|
||||
|
||||
if (P_MobjWasRemoved(mo))
|
||||
return;
|
||||
|
||||
if (mo->player)
|
||||
{
|
||||
P_BouncePlayerMove(mo);
|
||||
|
|
@ -3979,7 +3982,11 @@ bounceback:
|
|||
mo->momy = tmymove;
|
||||
|
||||
if (!P_TryMove(mo, mo->x + tmxmove, mo->y + tmymove, true))
|
||||
{
|
||||
if (P_MobjWasRemoved(mo))
|
||||
return;
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -1694,6 +1694,8 @@ void P_XYMovement(mobj_t *mo)
|
|||
else
|
||||
{
|
||||
P_BounceMove(mo);
|
||||
if (P_MobjWasRemoved(mo))
|
||||
return;
|
||||
xmove = ymove = 0;
|
||||
S_StartSound(mo, mo->info->activesound);
|
||||
|
||||
|
|
@ -1843,6 +1845,9 @@ void P_SceneryXYMovement(mobj_t *mo)
|
|||
if (!P_SceneryTryMove(mo, mo->x + mo->momx, mo->y + mo->momy))
|
||||
P_BounceMove(mo);
|
||||
|
||||
if (P_MobjWasRemoved(mo))
|
||||
return;
|
||||
|
||||
if ((!(mo->eflags & MFE_VERTICALFLIP) && mo->z > mo->floorz) || (mo->eflags & MFE_VERTICALFLIP && mo->z+mo->height < mo->ceilingz))
|
||||
return; // no friction when airborne
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue