diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 041eac2..9683c38 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2447,10 +2447,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
2447 | m_lastSize = Appearance.AvatarSize; | 2447 | m_lastSize = Appearance.AvatarSize; |
2448 | SendAvatarDataToAllAgents(); | 2448 | SendAvatarDataToAllAgents(); |
2449 | } | 2449 | } |
2450 | // Throw away duplicate or insignificant updates | ||
2451 | else if ( | ||
2452 | // If the velocity has become zero, send it no matter what. | ||
2453 | (Velocity != m_lastVelocity && Velocity == Vector3.Zero) | ||
2454 | // otherwise, if things have changed reasonably, send the update | ||
2455 | || (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) | ||
2456 | || !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) | ||
2457 | || !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE))) | ||
2450 | 2458 | ||
2451 | else if (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || | ||
2452 | !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || | ||
2453 | !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)) | ||
2454 | { | 2459 | { |
2455 | SendTerseUpdateToAllClients(); | 2460 | SendTerseUpdateToAllClients(); |
2456 | 2461 | ||