diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 08da05f..f125822 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3706,22 +3706,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3706 | 3706 | ||
3707 | const float TIME_DILATION = 1.0f; | 3707 | const float TIME_DILATION = 1.0f; |
3708 | ushort timeDilation = Utils.FloatToUInt16(TIME_DILATION, 0.0f, 1.0f); | 3708 | ushort timeDilation = Utils.FloatToUInt16(TIME_DILATION, 0.0f, 1.0f); |
3709 | 3709 | ||
3710 | if (terseUpdateBlocks.IsValueCreated) | ||
3711 | { | ||
3712 | List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> blocks = terseUpdateBlocks.Value; | ||
3713 | |||
3714 | ImprovedTerseObjectUpdatePacket packet = new ImprovedTerseObjectUpdatePacket(); | ||
3715 | packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle; | ||
3716 | packet.RegionData.TimeDilation = timeDilation; | ||
3717 | packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[blocks.Count]; | ||
3718 | |||
3719 | for (int i = 0; i < blocks.Count; i++) | ||
3720 | packet.ObjectData[i] = blocks[i]; | ||
3721 | |||
3722 | OutPacket(packet, ThrottleOutPacketType.Unknown, true); | ||
3723 | } | ||
3724 | |||
3725 | if (objectUpdateBlocks.IsValueCreated) | 3710 | if (objectUpdateBlocks.IsValueCreated) |
3726 | { | 3711 | { |
3727 | List<ObjectUpdatePacket.ObjectDataBlock> blocks = objectUpdateBlocks.Value; | 3712 | List<ObjectUpdatePacket.ObjectDataBlock> blocks = objectUpdateBlocks.Value; |
@@ -3733,8 +3718,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3733 | 3718 | ||
3734 | for (int i = 0; i < blocks.Count; i++) | 3719 | for (int i = 0; i < blocks.Count; i++) |
3735 | packet.ObjectData[i] = blocks[i]; | 3720 | packet.ObjectData[i] = blocks[i]; |
3736 | 3721 | ||
3737 | OutPacket(packet, ThrottleOutPacketType.Unknown, true); | 3722 | OutPacket(packet, ThrottleOutPacketType.Task, true); |
3738 | } | 3723 | } |
3739 | 3724 | ||
3740 | if (compressedUpdateBlocks.IsValueCreated) | 3725 | if (compressedUpdateBlocks.IsValueCreated) |
@@ -3748,10 +3733,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3748 | 3733 | ||
3749 | for (int i = 0; i < blocks.Count; i++) | 3734 | for (int i = 0; i < blocks.Count; i++) |
3750 | packet.ObjectData[i] = blocks[i]; | 3735 | packet.ObjectData[i] = blocks[i]; |
3751 | 3736 | ||
3752 | OutPacket(packet, ThrottleOutPacketType.Unknown, true); | 3737 | OutPacket(packet, ThrottleOutPacketType.Task, true); |
3753 | } | 3738 | } |
3754 | 3739 | ||
3740 | if (terseUpdateBlocks.IsValueCreated) | ||
3741 | { | ||
3742 | List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> blocks = terseUpdateBlocks.Value; | ||
3743 | |||
3744 | ImprovedTerseObjectUpdatePacket packet = new ImprovedTerseObjectUpdatePacket(); | ||
3745 | packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle; | ||
3746 | packet.RegionData.TimeDilation = timeDilation; | ||
3747 | packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[blocks.Count]; | ||
3748 | |||
3749 | for (int i = 0; i < blocks.Count; i++) | ||
3750 | packet.ObjectData[i] = blocks[i]; | ||
3751 | |||
3752 | OutPacket(packet, ThrottleOutPacketType.Task, true); | ||
3753 | } | ||
3755 | } | 3754 | } |
3756 | 3755 | ||
3757 | #endregion Packet Sending | 3756 | #endregion Packet Sending |