From 07ca09574072b303064eafb2751f8f83c865f083 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Mon, 4 May 2020 09:10:47 +0100 Subject: Improve entity position updates (#4701) * Make puking pickups fly nicer * Improve entity position updates * Move determination of whether a delta is too big for a packet into the protocol handlers + Less jittery movement + Generalise CollectEntity to take any entity --- src/Entities/Boat.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'src/Entities/Boat.cpp') diff --git a/src/Entities/Boat.cpp b/src/Entities/Boat.cpp index 872b7e4d4..317a5e1d5 100644 --- a/src/Entities/Boat.cpp +++ b/src/Entities/Boat.cpp @@ -49,19 +49,11 @@ void cBoat::BroadcastMovementUpdate(const cClientHandle * a_Exclude) } Vector3i Diff = (GetPosition() * 32.0).Floor() - (m_LastSentPosition * 32.0).Floor(); - if (Diff.HasNonZeroLength()) // Have we moved? { - if ((abs(Diff.x) <= 127) && (abs(Diff.y) <= 127) && (abs(Diff.z) <= 127)) // Limitations of a Byte - { - m_World->BroadcastEntityRelMove(*this, Vector3(Diff), a_Exclude); - } - else - { - // Too big a movement, do a teleport - m_World->BroadcastTeleportEntity(*this, a_Exclude); - } + m_World->BroadcastEntityPosition(*this, a_Exclude); m_LastSentPosition = GetPosition(); + m_bDirtyOrientation = false; } } -- cgit v1.2.3