[BUG][PLAYER] Swimmer warping to an portal in water immediately warps back

Started by namida, December 10, 2021, 06:03:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

To reproduce:

1. Place a pair of portals such that Portal A is not in water, and Portal B is in water. It does not matter whether Portal B is underwater or on the surface, as long as the receive point (bottom-middle of the trigger area) overlaps the water's trigger area.
2. Send a swimmer into Portal A.

Expected: Swimmer warps to Portal B then begins swimming.
Actual behavior: Swimmer warps to Portal B, then immediately warps back to Portal A. Non-swimmers behave as expected. Swimmers behave as expected if Portal A is also in water (whether Portal B is in water as well or not).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

The reason this happens seems to be because the lemming arrives as a faller, therefore moves downwards (and thus, out of the portal's trigger area) before transitioning to a swimmer. That this happens feels like a bug in and of itself, and fixing that should also correct this bug.

Additionally, all evidence suggests this bug would also happen with teleporters, so will be fixed for those in 12.13.X regardless of what happens with the portal.

Fixed for teleporters in commit 6856bfc, and then for portals in commit 27e5c3c.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)