diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 22 |
1 files changed, 18 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> |