aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs27
1 files changed, 18 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 2a0d2ea..f21058b 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -319,7 +319,7 @@ namespace OpenSim.Region.Framework.Scenes
319 protected Vector3 m_lastVelocity; 319 protected Vector3 m_lastVelocity;
320 protected Vector3 m_lastAcceleration; 320 protected Vector3 m_lastAcceleration;
321 protected Vector3 m_lastAngularVelocity; 321 protected Vector3 m_lastAngularVelocity;
322 protected int m_lastTerseSent; 322 protected int m_lastUpdateSentTime;
323 protected float m_buoyancy = 0.0f; 323 protected float m_buoyancy = 0.0f;
324 protected Vector3 m_force; 324 protected Vector3 m_force;
325 protected Vector3 m_torque; 325 protected Vector3 m_torque;
@@ -3201,6 +3201,14 @@ namespace OpenSim.Region.Framework.Scenes
3201 if (ParentGroup == null) 3201 if (ParentGroup == null)
3202 return; 3202 return;
3203 3203
3204 // Update the "last" values
3205 m_lastPosition = OffsetPosition;
3206 m_lastRotation = RotationOffset;
3207 m_lastVelocity = Velocity;
3208 m_lastAcceleration = Acceleration;
3209 m_lastAngularVelocity = AngularVelocity;
3210 m_lastUpdateSentTime = Environment.TickCount;
3211
3204 ParentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar) 3212 ParentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar)
3205 { 3213 {
3206 SendFullUpdate(avatar.ControllingClient); 3214 SendFullUpdate(avatar.ControllingClient);
@@ -3274,17 +3282,10 @@ namespace OpenSim.Region.Framework.Scenes
3274 Velocity.ApproxEquals(Vector3.Zero, VELOCITY_TOLERANCE) || 3282 Velocity.ApproxEquals(Vector3.Zero, VELOCITY_TOLERANCE) ||
3275 !AngularVelocity.ApproxEquals(m_lastAngularVelocity, VELOCITY_TOLERANCE) || 3283 !AngularVelocity.ApproxEquals(m_lastAngularVelocity, VELOCITY_TOLERANCE) ||
3276 !OffsetPosition.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) || 3284 !OffsetPosition.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) ||
3277 Environment.TickCount - m_lastTerseSent > TIME_MS_TOLERANCE) 3285 Environment.TickCount - m_lastUpdateSentTime > TIME_MS_TOLERANCE)
3278 { 3286 {
3279 SendTerseUpdateToAllClients(); 3287 SendTerseUpdateToAllClients();
3280 3288
3281 // Update the "last" values
3282 m_lastPosition = OffsetPosition;
3283 m_lastRotation = RotationOffset;
3284 m_lastVelocity = Velocity;
3285 m_lastAcceleration = Acceleration;
3286 m_lastAngularVelocity = AngularVelocity;
3287 m_lastTerseSent = Environment.TickCount;
3288 } 3289 }
3289 break; 3290 break;
3290 } 3291 }
@@ -3305,6 +3306,14 @@ namespace OpenSim.Region.Framework.Scenes
3305 if (ParentGroup == null || ParentGroup.Scene == null) 3306 if (ParentGroup == null || ParentGroup.Scene == null)
3306 return; 3307 return;
3307 3308
3309 // Update the "last" values
3310 m_lastPosition = OffsetPosition;
3311 m_lastRotation = RotationOffset;
3312 m_lastVelocity = Velocity;
3313 m_lastAcceleration = Acceleration;
3314 m_lastAngularVelocity = AngularVelocity;
3315 m_lastUpdateSentTime = Environment.TickCount;
3316
3308 ParentGroup.Scene.ForEachClient(delegate(IClientAPI client) 3317 ParentGroup.Scene.ForEachClient(delegate(IClientAPI client)
3309 { 3318 {
3310 SendTerseUpdateToClient(client); 3319 SendTerseUpdateToClient(client);