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
|
|
@ -81,6 +81,7 @@ public:
|
|||
bool isSitting() const { return sitting; }
|
||||
bool isSwimming() const { return swimming; }
|
||||
bool isInsideWMO() const { return cachedInsideWMO; }
|
||||
void setGrounded(bool g) { grounded = g; }
|
||||
bool isOnTaxi() const { return externalFollow_; }
|
||||
const glm::vec3* getFollowTarget() const { return followTarget; }
|
||||
glm::vec3* getFollowTargetMutable() { return followTarget; }
|
||||
|
|
@ -141,6 +142,7 @@ private:
|
|||
static constexpr float MIN_DISTANCE = 0.5f; // Minimum zoom (first-person threshold)
|
||||
static constexpr float MAX_DISTANCE_NORMAL = 22.0f; // Default max zoom out
|
||||
static constexpr float MAX_DISTANCE_EXTENDED = 50.0f; // Extended max zoom out
|
||||
static constexpr float MAX_DISTANCE_INTERIOR = 12.0f; // Max zoom inside WMOs
|
||||
bool extendedZoom_ = false;
|
||||
static constexpr float ZOOM_SMOOTH_SPEED = 15.0f; // How fast zoom eases
|
||||
static constexpr float CAM_SMOOTH_SPEED = 20.0f; // How fast camera position smooths
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue