Files
WoWee/include/rendering/camera_controller.hpp
Kelsi 18721eeb93 fix(movement): guard the terrain rescue against everything built underground
The penetration rescue added for hill climbing decided "nothing is under
here" from cachedInsideWMO and centerWmoH, and neither can be trusted at the
moment it matters. Containment lags by design, and the WMO sample is cleared
outright for floors more than 12 yards below terrain while containment still
reads false — which is precisely a tunnel mouth being descended. The Darkshire
crypts, the tunnel under the hill into Booty Bay and cave interiors would all
have qualified, and the player would have been lifted onto the hillside above
the entrance they had just walked into.

Ask directly instead, and only once penetration is already established:

- Probe the WMO and M2 floors for anything under the player. Anchored at the
  player rather than at the heightfield, because the floor query culls groups
  whose top sits more than 4 yards below the probe height — probing from up at
  the surface would skip a crypt entirely and report clear ground, the exact
  opposite of the truth.
- Skip hole-cut MCNK chunks. getHeightAt interpolates straight across a hole
  and reports a surface that is not there, and a hole is how a cave mouth is
  opened in the first place, so the structure below may be further down than
  the probes reach. Answered per chunk, coarse in the safe direction.

The rescue also logs on the leading edge now, so if it ever does fire
somewhere underground there is a line naming the position rather than a
silent teleport.
2026-07-31 15:26:45 -07:00

24 KiB