same for AngularVelocity. Use normal terse updates in place of sending

imediatly. If that's good for physics, needs to be good for this
avinationmerge
UbitUmarov 2013-01-11 14:16:45 +00:00
parent 756d53db5e
commit 1f9dbdf8b8
1 changed files with 18 additions and 10 deletions

View File

@ -345,9 +345,9 @@ namespace OpenSim.Region.Framework.Scenes
m_baseRotation = m_group.GroupRotation; m_baseRotation = m_group.GroupRotation;
m_group.RootPart.Velocity = Vector3.Zero; m_group.RootPart.Velocity = Vector3.Zero;
m_group.RootPart.UpdateAngularVelocity(Vector3.Zero); m_group.RootPart.AngularVelocity = Vector3.Zero;
m_group.SendGroupRootTerseUpdate(); // m_group.SendGroupRootTerseUpdate();
m_group.RootPart.ScheduleTerseUpdate();
m_frames.Clear(); m_frames.Clear();
} }
@ -357,8 +357,10 @@ namespace OpenSim.Region.Framework.Scenes
RemoveTimer(); RemoveTimer();
m_group.RootPart.Velocity = Vector3.Zero; m_group.RootPart.Velocity = Vector3.Zero;
m_group.RootPart.UpdateAngularVelocity(Vector3.Zero); m_group.RootPart.AngularVelocity = Vector3.Zero;
m_group.SendGroupRootTerseUpdate(); // m_group.SendGroupRootTerseUpdate();
m_group.RootPart.ScheduleTerseUpdate();
} }
private void GetNextList() private void GetNextList()
@ -489,7 +491,9 @@ namespace OpenSim.Region.Framework.Scenes
if (m_group.RootPart.Velocity != Vector3.Zero) if (m_group.RootPart.Velocity != Vector3.Zero)
{ {
m_group.RootPart.Velocity = Vector3.Zero; m_group.RootPart.Velocity = Vector3.Zero;
m_group.SendGroupRootTerseUpdate(); // m_group.SendGroupRootTerseUpdate();
m_group.RootPart.ScheduleTerseUpdate();
} }
m_inOnTimer = false; m_inOnTimer = false;
return; return;
@ -539,7 +543,7 @@ namespace OpenSim.Region.Framework.Scenes
if (steps <= 0.0) if (steps <= 0.0)
{ {
m_group.RootPart.Velocity = Vector3.Zero; m_group.RootPart.Velocity = Vector3.Zero;
m_group.RootPart.UpdateAngularVelocity(Vector3.Zero); m_group.RootPart.AngularVelocity = Vector3.Zero;
m_nextPosition = (Vector3)m_currentFrame.Position; m_nextPosition = (Vector3)m_currentFrame.Position;
m_group.AbsolutePosition = m_nextPosition; m_group.AbsolutePosition = m_nextPosition;
@ -625,7 +629,9 @@ namespace OpenSim.Region.Framework.Scenes
} }
if (update) if (update)
m_group.SendGroupRootTerseUpdate(); // m_group.SendGroupRootTerseUpdate();
m_group.RootPart.ScheduleTerseUpdate();
} }
catch ( Exception ex) catch ( Exception ex)
@ -675,7 +681,8 @@ namespace OpenSim.Region.Framework.Scenes
if (m_group.RootPart.Velocity != Vector3.Zero) if (m_group.RootPart.Velocity != Vector3.Zero)
{ {
m_group.RootPart.Velocity = Vector3.Zero; m_group.RootPart.Velocity = Vector3.Zero;
m_group.SendGroupRootTerseUpdate(); // m_group.SendGroupRootTerseUpdate();
m_group.RootPart.ScheduleTerseUpdate();
} }
} }
@ -686,7 +693,8 @@ namespace OpenSim.Region.Framework.Scenes
if (m_group != null) if (m_group != null)
{ {
m_group.RootPart.Velocity = Vector3.Zero; m_group.RootPart.Velocity = Vector3.Zero;
m_group.SendGroupRootTerseUpdate(); // m_group.SendGroupRootTerseUpdate();
m_group.RootPart.ScheduleTerseUpdate();
if (m_running && m_timer != null) if (m_running && m_timer != null)
{ {