aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Framework/IClientAPI.cs3
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs20
-rw-r--r--OpenSim/Region/Framework/Scenes/KeyframeMotion.cs12
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs14
5 files changed, 10 insertions, 46 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 96d2735..0465042 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -698,8 +698,7 @@ namespace OpenSim.Framework
698 ExtraData = 1 << 20, 698 ExtraData = 1 << 20,
699 Sound = 1 << 21, 699 Sound = 1 << 21,
700 Joint = 1 << 22, 700 Joint = 1 << 22,
701 Immediate = 1 << 23, 701 FullUpdate = UInt32.MaxValue
702 FullUpdate = UInt32.MaxValue & (uint)~((uint)1<<23)
703 } 702 }
704 703
705 public static class PrimUpdateFlagsExtensions 704 public static class PrimUpdateFlagsExtensions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 8d46415..ca15e3e 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -3721,12 +3721,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3721 /// </summary> 3721 /// </summary>
3722 public void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags) 3722 public void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
3723 { 3723 {
3724 if ((updateFlags & PrimUpdateFlags.Immediate) != 0)
3725 {
3726 SendUnqueuedTerseUpdate((SceneObjectPart)entity);
3727 return;
3728 }
3729
3730 if (entity is SceneObjectPart) 3724 if (entity is SceneObjectPart)
3731 { 3725 {
3732 SceneObjectPart e = (SceneObjectPart)entity; 3726 SceneObjectPart e = (SceneObjectPart)entity;
@@ -4081,20 +4075,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4081 ProcessEntityUpdates(-1); 4075 ProcessEntityUpdates(-1);
4082 } 4076 }
4083 4077
4084 public void SendUnqueuedTerseUpdate(SceneObjectPart part)
4085 {
4086 ImprovedTerseObjectUpdatePacket packet
4087 = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(
4088 PacketType.ImprovedTerseObjectUpdate);
4089 packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
4090 packet.RegionData.TimeDilation = Utils.FloatToUInt16(1.0f, 0.0f, 1.0f);
4091 packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
4092
4093 packet.ObjectData[0] = CreateImprovedTerseBlock(part, false);
4094
4095 OutPacket(packet, ThrottleOutPacketType.Task | ThrottleOutPacketType.HighPriority);
4096 }
4097
4098 #endregion Primitive Packet/Data Sending Methods 4078 #endregion Primitive Packet/Data Sending Methods
4099 4079
4100 // These are used to implement an adaptive backoff in the number 4080 // These are used to implement an adaptive backoff in the number
diff --git a/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs b/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs
index 722c031..75b16dc 100644
--- a/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs
+++ b/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs
@@ -417,7 +417,7 @@ namespace OpenSim.Region.Framework.Scenes
417 417
418 m_group.RootPart.Velocity = Vector3.Zero; 418 m_group.RootPart.Velocity = Vector3.Zero;
419 m_group.RootPart.AngularVelocity = Vector3.Zero; 419 m_group.RootPart.AngularVelocity = Vector3.Zero;
420 m_group.SendGroupRootTerseUpdate(PrimUpdateFlags.Immediate); 420 m_group.SendGroupRootTerseUpdate();
421// m_group.RootPart.ScheduleTerseUpdate(); 421// m_group.RootPart.ScheduleTerseUpdate();
422 m_frames.Clear(); 422 m_frames.Clear();
423 } 423 }
@@ -429,7 +429,7 @@ namespace OpenSim.Region.Framework.Scenes
429 429
430 m_group.RootPart.Velocity = Vector3.Zero; 430 m_group.RootPart.Velocity = Vector3.Zero;
431 m_group.RootPart.AngularVelocity = Vector3.Zero; 431 m_group.RootPart.AngularVelocity = Vector3.Zero;
432 m_group.SendGroupRootTerseUpdate(PrimUpdateFlags.Immediate); 432 m_group.SendGroupRootTerseUpdate();
433// m_group.RootPart.ScheduleTerseUpdate(); 433// m_group.RootPart.ScheduleTerseUpdate();
434 434
435 } 435 }
@@ -551,7 +551,7 @@ namespace OpenSim.Region.Framework.Scenes
551 if (m_group.RootPart.Velocity != Vector3.Zero) 551 if (m_group.RootPart.Velocity != Vector3.Zero)
552 { 552 {
553 m_group.RootPart.Velocity = Vector3.Zero; 553 m_group.RootPart.Velocity = Vector3.Zero;
554 m_group.SendGroupRootTerseUpdate(PrimUpdateFlags.Immediate); 554 m_group.SendGroupRootTerseUpdate();
555 555
556 } 556 }
557 return; 557 return;
@@ -695,7 +695,7 @@ namespace OpenSim.Region.Framework.Scenes
695 695
696 if (update) 696 if (update)
697 { 697 {
698 m_group.SendGroupRootTerseUpdate(PrimUpdateFlags.Immediate); 698 m_group.SendGroupRootTerseUpdate();
699 } 699 }
700 } 700 }
701 701
@@ -731,7 +731,7 @@ namespace OpenSim.Region.Framework.Scenes
731 if (m_group.RootPart.Velocity != Vector3.Zero) 731 if (m_group.RootPart.Velocity != Vector3.Zero)
732 { 732 {
733 m_group.RootPart.Velocity = Vector3.Zero; 733 m_group.RootPart.Velocity = Vector3.Zero;
734 m_group.SendGroupRootTerseUpdate(PrimUpdateFlags.Immediate); 734 m_group.SendGroupRootTerseUpdate();
735// m_group.RootPart.ScheduleTerseUpdate(); 735// m_group.RootPart.ScheduleTerseUpdate();
736 } 736 }
737 } 737 }
@@ -743,7 +743,7 @@ namespace OpenSim.Region.Framework.Scenes
743 if (m_group != null) 743 if (m_group != null)
744 { 744 {
745 m_group.RootPart.Velocity = Vector3.Zero; 745 m_group.RootPart.Velocity = Vector3.Zero;
746 m_group.SendGroupRootTerseUpdate(PrimUpdateFlags.Immediate); 746 m_group.SendGroupRootTerseUpdate();
747// m_group.RootPart.ScheduleTerseUpdate(); 747// m_group.RootPart.ScheduleTerseUpdate();
748 748
749 if (m_running) 749 if (m_running)
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 910f42e..ed1bbd8 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2638,15 +2638,10 @@ namespace OpenSim.Region.Framework.Scenes
2638 /// </summary> 2638 /// </summary>
2639 public void SendGroupRootTerseUpdate() 2639 public void SendGroupRootTerseUpdate()
2640 { 2640 {
2641 SendGroupRootTerseUpdate(0);
2642 }
2643
2644 public void SendGroupRootTerseUpdate(PrimUpdateFlags flags)
2645 {
2646 if (IsDeleted) 2641 if (IsDeleted)
2647 return; 2642 return;
2648 2643
2649 RootPart.SendTerseUpdateToAllClients(flags); 2644 RootPart.SendTerseUpdateToAllClients();
2650 } 2645 }
2651 2646
2652 public void QueueForUpdateCheck() 2647 public void QueueForUpdateCheck()
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 7e94eda..20a6626 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3315,11 +3315,6 @@ namespace OpenSim.Region.Framework.Scenes
3315 /// </summary> 3315 /// </summary>
3316 public void SendTerseUpdateToAllClients() 3316 public void SendTerseUpdateToAllClients()
3317 { 3317 {
3318 SendTerseUpdateToAllClients(0);
3319 }
3320
3321 public void SendTerseUpdateToAllClients(PrimUpdateFlags flags)
3322 {
3323 if (ParentGroup == null || ParentGroup.Scene == null) 3318 if (ParentGroup == null || ParentGroup.Scene == null)
3324 return; 3319 return;
3325 3320
@@ -3333,7 +3328,7 @@ namespace OpenSim.Region.Framework.Scenes
3333 3328
3334 ParentGroup.Scene.ForEachClient(delegate(IClientAPI client) 3329 ParentGroup.Scene.ForEachClient(delegate(IClientAPI client)
3335 { 3330 {
3336 SendTerseUpdateToClient(client, flags); 3331 SendTerseUpdateToClient(client);
3337 }); 3332 });
3338 } 3333 }
3339 3334
@@ -5138,11 +5133,6 @@ namespace OpenSim.Region.Framework.Scenes
5138 5133
5139 public void SendTerseUpdateToClient(IClientAPI remoteClient) 5134 public void SendTerseUpdateToClient(IClientAPI remoteClient)
5140 { 5135 {
5141 SendTerseUpdateToClient(remoteClient, 0);
5142 }
5143
5144 public void SendTerseUpdateToClient(IClientAPI remoteClient, PrimUpdateFlags flags)
5145 {
5146 if (ParentGroup.IsDeleted) 5136 if (ParentGroup.IsDeleted)
5147 return; 5137 return;
5148 5138
@@ -5156,7 +5146,7 @@ namespace OpenSim.Region.Framework.Scenes
5156 remoteClient.SendEntityUpdate( 5146 remoteClient.SendEntityUpdate(
5157 this, 5147 this,
5158 PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity 5148 PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity
5159 | PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity | flags); 5149 | PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity);
5160 5150
5161 ParentGroup.Scene.StatsReporter.AddObjectUpdates(1); 5151 ParentGroup.Scene.StatsReporter.AddObjectUpdates(1);
5162 } 5152 }