mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-25 16:30:15 +00:00
physics: block client-side movement when server roots the player
When SMSG_FORCE_MOVE_ROOT sets ROOT in movementInfo.flags, the camera controller was not aware and continued to accept directional input. This caused position desync (client moves, server sees player as rooted). - Add movementRooted_ flag to CameraController with setter/getter. - Block nowForward/nowBackward/nowStrafe when movementRooted_ is set. - Sync isPlayerRooted() from GameHandler to CameraController each frame alongside the existing run-speed sync in application.cpp. - Add GameHandler::isPlayerRooted() convenience accessor.
This commit is contained in:
parent
ea291179dd
commit
21604461fc
4 changed files with 12 additions and 2 deletions
|
|
@ -1009,6 +1009,7 @@ void Application::update(float deltaTime) {
|
|||
runInGameStage("post-update sync", [&] {
|
||||
if (renderer && gameHandler && renderer->getCameraController()) {
|
||||
renderer->getCameraController()->setRunSpeedOverride(gameHandler->getServerRunSpeed());
|
||||
renderer->getCameraController()->setMovementRooted(gameHandler->isPlayerRooted());
|
||||
}
|
||||
|
||||
bool onTaxi = gameHandler &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue