diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index ca15e3e..8d46415 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3721,6 +3721,12 @@ 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 | |||
3724 | if (entity is SceneObjectPart) | 3730 | if (entity is SceneObjectPart) |
3725 | { | 3731 | { |
3726 | SceneObjectPart e = (SceneObjectPart)entity; | 3732 | SceneObjectPart e = (SceneObjectPart)entity; |
@@ -4075,6 +4081,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4075 | ProcessEntityUpdates(-1); | 4081 | ProcessEntityUpdates(-1); |
4076 | } | 4082 | } |
4077 | 4083 | ||
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 | |||
4078 | #endregion Primitive Packet/Data Sending Methods | 4098 | #endregion Primitive Packet/Data Sending Methods |
4079 | 4099 | ||
4080 | // These are used to implement an adaptive backoff in the number | 4100 | // These are used to implement an adaptive backoff in the number |