diff options
author | Melanie | 2010-12-30 00:31:59 +0100 |
---|---|---|
committer | Melanie | 2010-12-30 00:31:59 +0100 |
commit | 2cb2bff9b2ab68c325b0142da0b37730be9a12a3 (patch) | |
tree | 147d2d65fa710842f26afe97713f4de60d14889d /OpenSim/Region | |
parent | Copying a ref type under lock doesn't dissociate it from the source. (diff) | |
download | opensim-SC-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.zip opensim-SC-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.gz opensim-SC-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.bz2 opensim-SC-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.xz |
Implement SendPlacesReply
Diffstat (limited to 'OpenSim/Region')
4 files changed, 66 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 | } |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index a6e2c03..5151bf0 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -1170,5 +1170,9 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
1170 | public void StopFlying(ISceneEntity presence) | 1170 | public void StopFlying(ISceneEntity presence) |
1171 | { | 1171 | { |
1172 | } | 1172 | } |
1173 | |||
1174 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1175 | { | ||
1176 | } | ||
1173 | } | 1177 | } |
1174 | } | 1178 | } |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 75f6441..e2574e7 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -1692,5 +1692,9 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1692 | public void StopFlying(ISceneEntity presence) | 1692 | public void StopFlying(ISceneEntity presence) |
1693 | { | 1693 | { |
1694 | } | 1694 | } |
1695 | |||
1696 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1697 | { | ||
1698 | } | ||
1695 | } | 1699 | } |
1696 | } | 1700 | } |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 51949b4..1ce3791 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -1175,5 +1175,9 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
1175 | public void StopFlying(ISceneEntity presence) | 1175 | public void StopFlying(ISceneEntity presence) |
1176 | { | 1176 | { |
1177 | } | 1177 | } |
1178 | |||
1179 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1180 | { | ||
1181 | } | ||
1178 | } | 1182 | } |
1179 | } | 1183 | } |