physics: add server swim-back speed override to CameraController

Backward swimming was using 50% of forward swim speed as a hardcoded
fallback. Wire up the server-authoritative swim back speed so Warlock
Dark Pact, buffs, and server-forced speed changes all apply correctly
when swimming backward.

- game_handler.hpp: add getServerSwimBackSpeed() accessor
- camera_controller.hpp: add swimBackSpeedOverride_ field + setter
- camera_controller.cpp: apply swimBackSpeedOverride_ when player
  swims backward without forward input; fall back to 50% of swim speed
- application.cpp: sync swim back speed each frame
This commit is contained in:
Kelsi 2026-03-10 13:51:47 -07:00
parent 23293d6453
commit a33f635490
4 changed files with 11 additions and 1 deletions

View file

@ -94,6 +94,7 @@ public:
void setRunSpeedOverride(float speed) { runSpeedOverride_ = speed; }
void setWalkSpeedOverride(float speed) { walkSpeedOverride_ = speed; }
void setSwimSpeedOverride(float speed) { swimSpeedOverride_ = speed; }
void setSwimBackSpeedOverride(float speed) { swimBackSpeedOverride_ = speed; }
void setFlightSpeedOverride(float speed) { flightSpeedOverride_ = speed; }
void setRunBackSpeedOverride(float speed) { runBackSpeedOverride_ = speed; }
void setMovementRooted(bool rooted) { movementRooted_ = rooted; }
@ -281,6 +282,7 @@ private:
float runSpeedOverride_ = 0.0f;
float walkSpeedOverride_ = 0.0f;
float swimSpeedOverride_ = 0.0f;
float swimBackSpeedOverride_ = 0.0f;
float flightSpeedOverride_ = 0.0f;
float runBackSpeedOverride_ = 0.0f;
// Server-driven root state: when true, block all horizontal movement input.