Eyetele puts you into the wall at acute angles and protruding elements #1208
Labels
Outcome: Resolved
This was resolved, and will be in a future update.
Priority: High
Something essential that should be done in this release, as soon as possible.
Size: Trivial
Something that is estimated to be only a few lines of code or will take minutes to do. "Quick Wins"
Type: Bug
Something that should work/look one way isn't quite doing that.
Projects
Describe the bug
When using
mom_eyetele
while almost parallel to the wall you're looking at, the command will get you stuck inside the wall.To Reproduce
Steps to reproduce the behavior:
mom_eyetele
on the wall you're aligned toExpected behavior
You should end up infront of the wall
Desktop/Branch (please complete the following information):
Additional context
Replacing the UTIL_TraceLine for a UTIL_TraceHull might be enough, this would also solve getting stuck when there are protruding walls in the way:
Also, it looks like the command tries to account for the bbox by removing 32 units from the end position, however the bounding box extends ~45 units in the diagonal direction and the amount needed to account for this at every angle tends to infinity with increasing angle. This fact will get you stuck inside diagonal walls, as well.
The only downside would be that if the corridor to where you aimed is too small at one single point and then gets bigger after, you still would get blocked halfway trough although there's enough space at the end (like you couldn't peek through a small hole to teleport, it would need to be player-sized) and solving both at once could turn out complicated, so I guess it depends what's considered more important. EDIT: A compromise could be to trace a line first, then trace a hull backwards and then rely on CGameTrace::fractionleftsolid (if it works like it should) to get nearest point on the line where the player actually fits.
Also, this (probably?) being mostly a mapping command, having to noclip might not be a problem anyway.
The text was updated successfully, but these errors were encountered: