diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 5913246..e416d05 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -12088,7 +12088,61 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
12088 | 12088 | ||
12089 | //ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, | 12089 | //ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, |
12090 | // AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); | 12090 | // AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); |
12091 | } | ||
12092 | |||
12093 | public void SendPlacesReply(UUID queryID, UUID transactionID, | ||
12094 | PlacesReplyData[] data) | ||
12095 | { | ||
12096 | PlacesReplyPacket reply = null; | ||
12097 | PlacesReplyPacket.QueryDataBlock[] dataBlocks = | ||
12098 | new PlacesReplyPacket.QueryDataBlock[0]; | ||
12099 | |||
12100 | for (int i = 0 ; i < data.Length ; i++) | ||
12101 | { | ||
12102 | PlacesReplyPacket.QueryDataBlock block = | ||
12103 | new PlacesReplyPacket.QueryDataBlock(); | ||
12104 | |||
12105 | block.OwnerID = data[i].OwnerID; | ||
12106 | block.Name = Util.StringToBytes256(data[i].Name); | ||
12107 | block.Desc = Util.StringToBytes1024(data[i].Desc); | ||
12108 | block.ActualArea = data[i].ActualArea; | ||
12109 | block.BillableArea = data[i].BillableArea; | ||
12110 | block.Flags = data[i].Flags; | ||
12111 | block.GlobalX = data[i].GlobalX; | ||
12112 | block.GlobalY = data[i].GlobalY; | ||
12113 | block.GlobalZ = data[i].GlobalZ; | ||
12114 | block.SimName = Util.StringToBytes256(data[i].SimName); | ||
12115 | block.SnapshotID = data[i].SnapshotID; | ||
12116 | block.Dwell = data[i].Dwell; | ||
12117 | block.Price = data[i].Price; | ||
12118 | |||
12119 | if (reply != null && reply.Length + block.Length > 1400) | ||
12120 | { | ||
12121 | OutPacket(reply, ThrottleOutPacketType.Task); | ||
12091 | 12122 | ||
12123 | reply = null; | ||
12124 | dataBlocks = new PlacesReplyPacket.QueryDataBlock[0]; | ||
12125 | } | ||
12126 | |||
12127 | if (reply == null) | ||
12128 | { | ||
12129 | reply = (PlacesReplyPacket)PacketPool.Instance.GetPacket(PacketType.PlacesReply); | ||
12130 | reply.AgentData = new PlacesReplyPacket.AgentDataBlock(); | ||
12131 | reply.AgentData.AgentID = AgentId; | ||
12132 | reply.AgentData.QueryID = queryID; | ||
12133 | |||
12134 | reply.TransactionData = new PlacesReplyPacket.TransactionDataBlock(); | ||
12135 | reply.TransactionData.TransactionID = transactionID; | ||
12136 | |||
12137 | reply.QueryData = dataBlocks; | ||
12138 | } | ||
12139 | |||
12140 | Array.Resize(ref dataBlocks, dataBlocks.Length + 1); | ||
12141 | dataBlocks[dataBlocks.Length - 1] = block; | ||
12142 | reply.QueryData = dataBlocks; | ||
12143 | } | ||
12144 | if (reply != null) | ||
12145 | OutPacket(reply, ThrottleOutPacketType.Task); | ||
12092 | } | 12146 | } |
12093 | } | 12147 | } |
12094 | } | 12148 | } |