Localized fix to its own field
This commit is contained in:
parent
0cbbaece3b
commit
fe1acc7f40
5 changed files with 13 additions and 11 deletions
|
|
@ -310,6 +310,7 @@ void AActor::Serialize(FSerializer &arc)
|
|||
A("smokecounter", smokecounter)
|
||||
("blockingmobj", BlockingMobj)
|
||||
A("blockingline", BlockingLine)
|
||||
A("movementblockingline", MovementBlockingLine)
|
||||
A("blocking3dfloor", Blocking3DFloor)
|
||||
A("blockingceiling", BlockingCeiling)
|
||||
A("blockingfloor", BlockingFloor)
|
||||
|
|
@ -1971,7 +1972,6 @@ static double P_XYMovement (AActor *mo, DVector2 scroll)
|
|||
FCheckPosition tm(!!(mo->flags2 & MF2_RIP));
|
||||
|
||||
DAngle oldangle = mo->Angles.Yaw;
|
||||
line_t* blocker = nullptr;
|
||||
do
|
||||
{
|
||||
if (mo->Level->i_compatflags & COMPATF_WALLRUN) pushtime++;
|
||||
|
|
@ -1987,7 +1987,7 @@ static double P_XYMovement (AActor *mo, DVector2 scroll)
|
|||
{
|
||||
// blocked move
|
||||
AActor *BlockingMobj = mo->BlockingMobj;
|
||||
line_t *BlockingLine = blocker = mo->BlockingLine;
|
||||
line_t *BlockingLine = mo->MovementBlockingLine = mo->BlockingLine;
|
||||
|
||||
// [ZZ]
|
||||
if (!BlockingLine && !BlockingMobj) // hit floor or ceiling while XY movement - sector actions
|
||||
|
|
@ -2189,9 +2189,6 @@ static double P_XYMovement (AActor *mo, DVector2 scroll)
|
|||
}
|
||||
} while (++step <= steps);
|
||||
|
||||
// Correctly update whether the Actor was truly blocked by a wall or not
|
||||
mo->BlockingLine = blocker;
|
||||
|
||||
// Friction
|
||||
|
||||
if (player && player->mo == mo && player->cheats & CF_NOVELOCITY)
|
||||
|
|
@ -4061,7 +4058,7 @@ void AActor::Tick ()
|
|||
|
||||
// Handle X and Y velocities
|
||||
BlockingMobj = nullptr;
|
||||
BlockingLine = nullptr;
|
||||
MovementBlockingLine = nullptr;
|
||||
sector_t* oldBlockingCeiling = BlockingCeiling;
|
||||
sector_t* oldBlockingFloor = BlockingFloor;
|
||||
Blocking3DFloor = nullptr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue