mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
physics: implement feather fall and water walk movement flag tracking
Feather Fall (SMSG_MOVE_FEATHER_FALL / SMSG_MOVE_NORMAL_FALL): - Add FEATHER_FALL = 0x00004000 to MovementFlags enum - Fix handlers to set/clear the flag instead of passing flag=0 - Cap downward terminal velocity at -2.0 m/s in CameraController when feather fall is active (Slow Fall, Parachute, etc.) All three handlers now correctly propagate server movement state flags that were previously acknowledged without updating any local state.
This commit is contained in:
parent
701cb94ba6
commit
0b99cbafb2
6 changed files with 15 additions and 2 deletions
|
|
@ -1160,6 +1160,9 @@ public:
|
|||
bool isGravityDisabled() const {
|
||||
return (movementInfo.flags & static_cast<uint32_t>(MovementFlags::LEVITATING)) != 0;
|
||||
}
|
||||
bool isFeatherFalling() const {
|
||||
return (movementInfo.flags & static_cast<uint32_t>(MovementFlags::FEATHER_FALL)) != 0;
|
||||
}
|
||||
void dismount();
|
||||
|
||||
// Taxi / Flight Paths
|
||||
|
|
|
|||
|
|
@ -395,6 +395,7 @@ enum class MovementFlags : uint32_t {
|
|||
ROOT = 0x00000800,
|
||||
FALLING = 0x00001000,
|
||||
FALLINGFAR = 0x00002000,
|
||||
FEATHER_FALL = 0x00004000, // Slow fall / Parachute
|
||||
SWIMMING = 0x00200000,
|
||||
ASCENDING = 0x00400000,
|
||||
CAN_FLY = 0x00800000,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue