aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs11
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 58721b0..a60c551 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2335,9 +2335,14 @@ namespace OpenSim.Region.Framework.Scenes
2335 // storing a requested force instead of an actual traveling velocity 2335 // storing a requested force instead of an actual traveling velocity
2336 2336
2337 // Throw away duplicate or insignificant updates 2337 // Throw away duplicate or insignificant updates
2338 if (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || 2338 if (
2339 !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || 2339 // If the velocity has become zero, send it no matter what.
2340 !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)) 2340 (Velocity != m_lastVelocity && Velocity == Vector3.Zero)
2341 // otherwise, if things have changed reasonably, send the update
2342 || (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE)
2343 || !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE)
2344 || !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)))
2345
2341 { 2346 {
2342 SendTerseUpdateToAllClients(); 2347 SendTerseUpdateToAllClients();
2343 2348