Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Havoc Crow

Player getting stuck in silent teleport lines

Recommended Posts

I've been making a map using Boom's silent teleport lines to seamlessly connect distant parts of the level, and I've noticed that - apparently - they're a bit buggy. If the player crosses a silent teleport line while having a lot of momentum, he tends to get "stuck" against it, running in place against the line until he either changes his facing angle entirely, or lets go of the run button, at which point he gets teleported as normal. (This was checked in prBoom and ZDoom.)

This can be worked around by placing architecture or obstacles near the line to prevent the player from crossing it at full tilt. But I'm curious if anyone else noticed this bug, or if they can add something to my finding. I haven't found any mention of it, whether on this forum or anywhere else.

Share this post


Link to post

Is there anything behind the teleport destination linedef in your map that would block the player if he ran too fast from said linedef?

Share this post


Link to post

Can you point to the wad where you are experiencing this problem? I've never encountered before I believe.

Share this post


Link to post

I have used silent teleport and have not experienced such a thing.

Keep the ends of the teleport line away from the walls. The monster or player can be teleported into a stuck situation. The teleport maps to a destination position proportional along the length of the teleport lines. By running at the line too close to the end, the teleport exits very close to the destination teleport line end. If the teleport lines were different lengths this can lead to monster or player getting stuck.

If the destination teleport line is blocked somewhere, then the teleport is like-wise blocked.

If the player runs at a teleport line too fast, the worst that could happen is that the line crossing routine might not detect it and there would be no teleport.

You must have some space past the teleport line, such as 1/2 player width plus extra.
Otherwise the teleport line crossing would not be detected until you square up to
the obstructing wall, getting a tad more distance.

If you have segmented your teleport line, you may teleport from one segment of your
teleport line, to the other segment. I suppose, if you teleport close to the segment joint, and the line segments face opposite directions, you could hit yourself.
It would be better to make one teleport line, with the same sector on each side.
It can cross over other lines and does not need to be segmented.

Share this post


Link to post

Debugged this issue in PrBoom.

What is happening is that you do actually teleport, but then you activate the other teleport line and teleport *back* to where you were, over and over, making it appear you are stuck.

There is code in there to prevent this happening, but I guess it doesn't work well at large velocities.

Share this post


Link to post
andrewj said:

Debugged this issue in PrBoom.

What is happening is that you do actually teleport, but then you activate the other teleport line and teleport *back* to where you were, over and over, making it appear you are stuck.

There is code in there to prevent this happening, but I guess it doesn't work well at large velocities.

Does PrBoom-Plus suffer equally? Just curious. Lee Killough thought he had fixed this in MBF.

Share this post


Link to post

I tested with prboom-plus_2.5.1.4-svn4403+dfsg1.orig.tar (from Debian stable).

PS the logic in EV_SilentLineTeleport() is essentially the same as in MBF.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×