mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Improve WMO wall collision, unstuck, interior zoom, and chat focus
- Stronger wall collision push (0.35/0.15) and swept push (0.45/0.25) for interior/exterior WMOs to reduce clipping through tunnel walls - Use all triangles (not just pre-classified walls) for collision checks - Allow invisible collidable triangles (MOPY 0x01 without 0x20) to block - Pass insideWMO flag to all collision callers, match swim sweep to ground - Widen swept hit detection radius from 0.15 to 0.25 - Restrict camera zoom to 12 units inside WMO interiors - Fix /unstuck launching player above WMOs: remove +20 fallback, use gravity when no floor found - Slash and Enter keys always focus chat unless already typing
This commit is contained in:
parent
4cae4bfcdc
commit
8014dde29b
5 changed files with 36 additions and 24 deletions
|
|
@ -1667,13 +1667,17 @@ void Application::setupUICallbacks() {
|
|||
}
|
||||
|
||||
// Sample floor at the DESTINATION position (after nudge).
|
||||
// Pick the highest floor so we snap up to WMO floors when fallen below.
|
||||
bool foundFloor = false;
|
||||
if (auto floor = sampleBestFloorAt(pos.x, pos.y, pos.z + 60.0f)) {
|
||||
pos.z = *floor + 0.2f;
|
||||
} else {
|
||||
pos.z += 20.0f;
|
||||
foundFloor = true;
|
||||
}
|
||||
|
||||
cc->teleportTo(pos);
|
||||
if (!foundFloor) {
|
||||
cc->setGrounded(false); // Let gravity pull player down to a surface
|
||||
}
|
||||
syncTeleportedPositionToServer(pos);
|
||||
forceServerTeleportCommand(pos);
|
||||
clearStuckMovement();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue