aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs16
1 files changed, 13 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index d4af9fc..c8971c4 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3084,9 +3084,19 @@ namespace OpenSim.Region.Framework.Scenes
3084 if (Appearance.AvatarSize != m_lastSize && !IsLoggingIn) 3084 if (Appearance.AvatarSize != m_lastSize && !IsLoggingIn)
3085 SendAvatarDataToAllAgents(); 3085 SendAvatarDataToAllAgents();
3086 3086
3087 if (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || 3087 // Allow any updates for sitting avatars to that llSetPrimitiveLinkParams() can work for very
3088 !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || 3088 // small increments (e.g. sit position adjusters). An alternative may be to eliminate the tolerance
3089 !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)) 3089 // checks on all updates but the ramifications of this would need careful consideration.
3090 bool updateClients
3091 = IsSatOnObject && (Rotation != m_lastRotation || Velocity != m_lastVelocity || m_pos != m_lastPosition);
3092
3093 if (!updateClients)
3094 updateClients
3095 = !Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE)
3096 || !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE)
3097 || !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE);
3098
3099 if (updateClients)
3090 { 3100 {
3091 SendTerseUpdateToAllClients(); 3101 SendTerseUpdateToAllClients();
3092 3102