Skip to content

Fixes with respect to sector special touching and slopes

toaster requested to merge touching_fixes into next

Some important stuff.

  • SF_TRIGGERSPECIAL_TOUCH now actually works. Previously, it abandoned the loop early if ANY bounding sector didn't have that sector flag, which it likely didn't - only checking one extra sector's worth of FOFs. Also, the teleport handling there is more robust, and actually bails out if you teleport, instead of just awkwardly continuing through the loop.
  • SF_TRIGGERSPECIAL_TOUCH now works for each time thinkers, too.
  • Fixed a bug with being able to go under lava because P_CheckSolidLava doesn't take slopes into account.
  • Also, P_CanRunOnWater supports slopes now too.
  • Quicksand supports slopes and reverse gravity now.
  • Space Countdown supports slopes now.

Also, an experiment behind a #define which currently isn't turned on:

  • UNDER A #define, "SECTORSPECIALSAFTERTHINK", WHICH IS CURRENTLY TURNED OFF, BUT I WILL WANT TO TURN ON IN INTERNAL: Moved sector touch handling to P_PlayerAfterThinker (from P_PlayerThinker before movement). Allows for being able to trigger moving slope sectors that are going down, most specifically lava (didn't matter in RVZS in 2.1 because you could clip through the sides and go underneath the lava, causing damage - a sloped testwad version of that prevented going underneath.) Also fixes one-frame standing on deathpits before you die. Basically means sector triggers effectively happen one tic earlier, since it's after movement.

Merge request reports