Various issues with pushables
1. When a pushable is moving a player riding on top of it via PIT_PushableMoved
, and the first move in the tic crosses the player into the north or east block in the blockmap, the pushable will move that player a second time during the same tic:
2. When a player jumps or otherwise stops riding a pushable, their momentum will not be adjusted to reflect the pushable's momentum. This is inconsistent with the behavior of jumping off polyobjects, conveyor belts, etc. I believe this isn't an issue with pushables riding pushables, since their momentum is set directly, but I haven't tested it:
3. When a pushable is teleported into place by a spring, it will not carry its riders with it. Haven't looked too deep into this one, not sure why it happens - since P_TryMove
is used to move the pushable in P_DoSpring
, which should eventually lead to PIT_PushableMoved
.
4. When a pushable is moving at a sufficient speed, a player that is riding on it won't have its floorz
correctly updated. The player gets moved during PIT_PushableMoved
before the pushable does - so if it's moved past the original bounding box of the pushable, floorz
won't take the pushable into account.
5. Pushables have issues traversing slopes while carrying a player. Have not tested this with non-players, haven't looked into this one much either:
6. Weirdly, these gargoyles at the bottom of the vertical slope aren't despawning once touching the deathpit - maybe because they're not "landing" on it? Haven't looked into this at all, just noticed it:
7. Vertical collisions are rough - not so much a bug as much as something that could be made a little more natural:
8. Player cannot get crushed by a pushable that is targeting them, i.e., that they have pushed. DMG_CANHURTSELF
is needed somewhere:
Example WAD to test these: pushtest.wad