From 26c966048aab894fcb2a32d8f2bb52c3bad2ba54 Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Sun, 8 Dec 2024 19:52:50 +0100 Subject: [PATCH] Remove buggy premature sendPlayerPos optimization --- src/client/client.cpp | 34 +++------------------------------- src/client/localplayer.h | 6 ------ 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/src/client/client.cpp b/src/client/client.cpp index f17d4debf45b7..027bfc170684d 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -1371,49 +1371,21 @@ void Client::sendPlayerPos() if (!player) return; - // Save bandwidth by only updating position when - // player is not dead and something changed - + // Don't send anything when player is dead: + // The server would ignore it anyways if (m_activeobjects_received && player->isDead()) return; - ClientMap &map = m_env.getClientMap(); - u8 camera_fov = std::fmin(255.0f, map.getCameraFov() * 80.0f); - u8 wanted_range = std::fmin(255.0f, - std::ceil(map.getWantedRange() * (1.0f / MAP_BLOCKSIZE))); - - u32 keyPressed = player->control.getKeysPressed(); bool camera_inverted = m_camera->getCameraMode() == CAMERA_MODE_THIRD_FRONT; - f32 movement_speed = player->control.movement_speed; - f32 movement_dir = player->control.movement_direction; - - if ( - player->last_position == player->getPosition() && - player->last_speed == player->getSpeed() && - player->last_pitch == player->getPitch() && - player->last_yaw == player->getYaw() && - player->last_keyPressed == keyPressed && - player->last_camera_fov == camera_fov && - player->last_camera_inverted == camera_inverted && - player->last_wanted_range == wanted_range && - player->last_movement_speed == movement_speed && - player->last_movement_dir == movement_dir) - return; player->last_position = player->getPosition(); player->last_speed = player->getSpeed(); player->last_pitch = player->getPitch(); player->last_yaw = player->getYaw(); - player->last_keyPressed = keyPressed; - player->last_camera_fov = camera_fov; - player->last_camera_inverted = camera_inverted; - player->last_wanted_range = wanted_range; - player->last_movement_speed = movement_speed; - player->last_movement_dir = movement_dir; NetworkPacket pkt(TOSERVER_PLAYERPOS, 12 + 12 + 4 + 4 + 4 + 1 + 1 + 1 + 4 + 4); - writePlayerPos(player, &map, &pkt, camera_inverted); + writePlayerPos(player, &m_env.getClientMap(), &pkt, camera_inverted); Send(&pkt); } diff --git a/src/client/localplayer.h b/src/client/localplayer.h index 93b768ceb0347..83ae26e376ca2 100644 --- a/src/client/localplayer.h +++ b/src/client/localplayer.h @@ -83,12 +83,6 @@ class LocalPlayer : public Player v3f last_speed; float last_pitch = 0.0f; float last_yaw = 0.0f; - u32 last_keyPressed = 0; - u8 last_camera_fov = 0; - u8 last_wanted_range = 0; - bool last_camera_inverted = false; - f32 last_movement_speed = 0.0f; - f32 last_movement_dir = 0.0f; float camera_impact = 0.0f;