aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs22
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs9
2 files changed, 27 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index c839c05..c8c00c8 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -3834,11 +3834,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3834 /// </summary> 3834 /// </summary>
3835 public void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags) 3835 public void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
3836 { 3836 {
3837 //double priority = m_prioritizer.GetUpdatePriority(this, entity); 3837 if (entity.UUID == m_agentId && !updateFlags.HasFlag(PrimUpdateFlags.FullUpdate))
3838 uint priority = m_prioritizer.GetUpdatePriority(this, entity); 3838 {
3839 ImprovedTerseObjectUpdatePacket packet
3840 = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate);
3839 3841
3840 lock (m_entityUpdates.SyncRoot) 3842 packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
3841 m_entityUpdates.Enqueue(priority, new EntityUpdate(entity, updateFlags, m_scene.TimeDilation)); 3843 packet.RegionData.TimeDilation = Utils.FloatToUInt16(1, 0.0f, 1.0f);
3844 packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
3845 packet.ObjectData[0] = CreateImprovedTerseBlock(entity, false);
3846 OutPacket(packet, ThrottleOutPacketType.Unknown, true);
3847 }
3848 else
3849 {
3850 //double priority = m_prioritizer.GetUpdatePriority(this, entity);
3851 uint priority = m_prioritizer.GetUpdatePriority(this, entity);
3852
3853 lock (m_entityUpdates.SyncRoot)
3854 m_entityUpdates.Enqueue(priority, new EntityUpdate(entity, updateFlags, m_scene.TimeDilation));
3855 }
3842 } 3856 }
3843 3857
3844 /// <summary> 3858 /// <summary>
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 64548f2..415a22e 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -898,6 +898,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
898 // packet so that it isn't sent before a queued update packet. 898 // packet so that it isn't sent before a queued update packet.
899 bool forceQueue = (type == PacketType.KillObject); 899 bool forceQueue = (type == PacketType.KillObject);
900 900
901// if (type == PacketType.ImprovedTerseObjectUpdate)
902// {
903// m_log.DebugFormat("Direct send ITOU to {0} in {1}", udpClient.AgentID, Scene.Name);
904// SendPacketFinal(outgoingPacket);
905// return false;
906// }
907// else
908// {
901 if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket, forceQueue)) 909 if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket, forceQueue))
902 { 910 {
903 SendPacketFinal(outgoingPacket); 911 SendPacketFinal(outgoingPacket);
@@ -907,6 +915,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
907 { 915 {
908 return false; 916 return false;
909 } 917 }
918// }
910 919
911 #endregion Queue or Send 920 #endregion Queue or Send
912 } 921 }