physics: sync all server movement speeds to CameraController

Previously only run speed was synced. Now all server-driven movement
speeds are forwarded to the camera controller each frame:
- runSpeedOverride_: server run speed (existing)
- walkSpeedOverride_: server walk speed (Ctrl key movement)
- swimSpeedOverride_: swim speed (Swim Form, Engineering fins)
- flightSpeedOverride_: flight speed (epic vs normal flying mounts)
- runBackSpeedOverride_: back-pedal speed

Each uses the server value when non-zero/sane, falling back to the
hardcoded WoW default constant otherwise.
This commit is contained in:
Kelsi 2026-03-10 13:28:53 -07:00
parent a1ee9827d8
commit 56ec49f837
4 changed files with 7 additions and 1 deletions

View file

@ -95,6 +95,7 @@ public:
void setWalkSpeedOverride(float speed) { walkSpeedOverride_ = speed; }
void setSwimSpeedOverride(float speed) { swimSpeedOverride_ = speed; }
void setFlightSpeedOverride(float speed) { flightSpeedOverride_ = speed; }
void setRunBackSpeedOverride(float speed) { runBackSpeedOverride_ = speed; }
void setMovementRooted(bool rooted) { movementRooted_ = rooted; }
bool isMovementRooted() const { return movementRooted_; }
void setGravityDisabled(bool disabled) { gravityDisabled_ = disabled; }
@ -280,6 +281,7 @@ private:
float walkSpeedOverride_ = 0.0f;
float swimSpeedOverride_ = 0.0f;
float flightSpeedOverride_ = 0.0f;
float runBackSpeedOverride_ = 0.0f;
// Server-driven root state: when true, block all horizontal movement input.
bool movementRooted_ = false;
// Server-driven gravity disable (levitate/hover): skip gravity accumulation.