- Order of operations; it is possible in specific
circumstances to respawn (K_DoIngameRespawn) before the
lap increments
- In this case, the lap would be reset to lastsafelap and
then incremented afterward
- This would allow someone to skip the first lap
- It was possible to do this in many maps where the finish
line intersects a respawn line, by driving into the
corner where the lines meet
- Divline crossed check is its own function.
- Remove the weird P_InterceptVector duplicate, so we can take advantage of the precise version from the earlier commit
- P_CrossBSPNode uses R_PointOnSide instead of P_DivlineSide; this function is more optimized and designed for BSP traversal.
Some of these are additionally also from DSDA-Doom / PrBoom+ / LxDoom
Many improvements that were in the raycast-physics branch, backported since that branch is probably dead, and if I ever revive it then it will be with a new approach. Many are sourced from PRBoom +ZDoom + Eternity Engine.
- Some line / divline comparison functions use const.
- P_PointOnLineSide and P_BoxOnLineSize use PrBoom's version.
- P_InterceptVector is more resistant to overflow.
- PIT_AddThingIntercepts checks against actual bounding box, instead of a corner-to-corner cross-section.
- P_TraverseIntercepts doesn't run the callback function on NULL intercepts.
- P_PathTraverse handles traces that go through blockmap corners properly.
- Removed unused earlyout flag to simplify logic.
- Added g_ prefix to trace.
- Replace the old method of adding each binding one at
a time
- Hold up to 4 inputs at once, then release to bind those
inputs to the control
- Changing the bindings overwrites the old bindings,
instead of adding to them
- Hold right to scroll binding text into Bind Ben
- Release right to cancel
- When the text is done scrolling, Bind Ben begins
chewing
- Release right to have Bind Ben swallow
- After Bind Ben swallows the binding text, he does
a cute pose and the control is cleared
- Press up or down to skip the swallow and pose
animations and clear the control immediately
- Press C to have Bind Ben quickly eat the binding text
and clear the control