Menu

#249 Wall running not fixed (-complevel 17)

v2.2.6.*
open
nobody
None
5
2017-03-21
2017-03-21
No

Changes were made to the source code that changes the behavior of wall running. Wall running is obviously a bug, but PrBoom+ 2.5.1.4 allows wall running in both directions along an axis. In vanilla, the wall running was specifically when moving toward negative axis values.

The bug was added in P_XYMovement when this code was added: (xmove < -MAXMOVE/2 || ymove < -MAXMOVE/2). Making sure that the test where these conditions are always fails and the code goes through the 'else' would fix this bug, but diagonal wallrunning is still a problem.

That code:
ptryx = mo->x + xmove/2;
ptryy = mo->y + ymove/2;
xmove >>= 1;
ymove >>= 1;
Causes slides against walls not to be smooth (against the wall in map18, see below), so it's even better when removed. It should only be kept so Mancubus fireballs and fast projectiles on nightmare don't go through the walls.

The most eastern wall in E2M8 is a good place to test wallrunning.

  • I found that Doom II map18 had a good place to test diagonal wall running. The wall metal wall behind the house that requires a yellow key for a door works fine. The wall in front of it at the bottom (which goes in the same direction as the metal wall) works fine too.

P_SlideMove moves the player twice, so the problem must be in there. A reason could be because it doesn't use the movement that was divided by two earlier.

Discussion


Log in to post a comment.