diff options
author | Melanie | 2010-12-30 00:31:59 +0100 |
---|---|---|
committer | Melanie | 2010-12-30 01:36:09 +0000 |
commit | a32f80b9e3a84852558150c3b30722b6755a1ff0 (patch) | |
tree | 0dbb8375e701e59f08884be256afbc704ed3b1ef | |
parent | Bug fix in neighbors: serverURI now always has a trailing '/'... neighbors we... (diff) | |
download | opensim-SC-a32f80b9e3a84852558150c3b30722b6755a1ff0.zip opensim-SC-a32f80b9e3a84852558150c3b30722b6755a1ff0.tar.gz opensim-SC-a32f80b9e3a84852558150c3b30722b6755a1ff0.tar.bz2 opensim-SC-a32f80b9e3a84852558150c3b30722b6755a1ff0.tar.xz |
Implement SendPlacesReply
8 files changed, 97 insertions, 0 deletions
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs index a66caab..1d93382 100644 --- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs +++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs | |||
@@ -1720,5 +1720,9 @@ namespace OpenSim.Client.MXP.ClientStack | |||
1720 | public void StopFlying(ISceneEntity presence) | 1720 | public void StopFlying(ISceneEntity presence) |
1721 | { | 1721 | { |
1722 | } | 1722 | } |
1723 | |||
1724 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1725 | { | ||
1726 | } | ||
1723 | } | 1727 | } |
1724 | } | 1728 | } |
diff --git a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs index c8eca9f..f2b58d3 100644 --- a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs +++ b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs | |||
@@ -1223,5 +1223,9 @@ namespace OpenSim.Client.VWoHTTP.ClientStack | |||
1223 | public void StopFlying(ISceneEntity presence) | 1223 | public void StopFlying(ISceneEntity presence) |
1224 | { | 1224 | { |
1225 | } | 1225 | } |
1226 | |||
1227 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1228 | { | ||
1229 | } | ||
1226 | } | 1230 | } |
1227 | } | 1231 | } |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 21ffa9a..a6be157 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -584,6 +584,23 @@ namespace OpenSim.Framework | |||
584 | } | 584 | } |
585 | } | 585 | } |
586 | 586 | ||
587 | public class PlacesReplyData | ||
588 | { | ||
589 | public UUID OwnerID; | ||
590 | public string Name; | ||
591 | public string Desc; | ||
592 | public int ActualArea; | ||
593 | public int BillableArea; | ||
594 | public byte Flags; | ||
595 | public uint GlobalX; | ||
596 | public uint GlobalY; | ||
597 | public uint GlobalZ; | ||
598 | public string SimName; | ||
599 | public UUID SnapshotID; | ||
600 | public uint Dwell; | ||
601 | public int Price; | ||
602 | } | ||
603 | |||
587 | /// <summary> | 604 | /// <summary> |
588 | /// Specifies the fields that have been changed when sending a prim or | 605 | /// Specifies the fields that have been changed when sending a prim or |
589 | /// avatar update | 606 | /// avatar update |
@@ -1316,5 +1333,7 @@ namespace OpenSim.Framework | |||
1316 | void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId); | 1333 | void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId); |
1317 | 1334 | ||
1318 | void StopFlying(ISceneEntity presence); | 1335 | void StopFlying(ISceneEntity presence); |
1336 | |||
1337 | void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data); | ||
1319 | } | 1338 | } |
1320 | } | 1339 | } |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index d63b719..ee4f04e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -11997,7 +11997,61 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11997 | 11997 | ||
11998 | //ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, | 11998 | //ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, |
11999 | // AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); | 11999 | // AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); |
12000 | } | ||
12001 | |||
12002 | public void SendPlacesReply(UUID queryID, UUID transactionID, | ||
12003 | PlacesReplyData[] data) | ||
12004 | { | ||
12005 | PlacesReplyPacket reply = null; | ||
12006 | PlacesReplyPacket.QueryDataBlock[] dataBlocks = | ||
12007 | new PlacesReplyPacket.QueryDataBlock[0]; | ||
12008 | |||
12009 | for (int i = 0 ; i < data.Length ; i++) | ||
12010 | { | ||
12011 | PlacesReplyPacket.QueryDataBlock block = | ||
12012 | new PlacesReplyPacket.QueryDataBlock(); | ||
12013 | |||
12014 | block.OwnerID = data[i].OwnerID; | ||
12015 | block.Name = Util.StringToBytes256(data[i].Name); | ||
12016 | block.Desc = Util.StringToBytes1024(data[i].Desc); | ||
12017 | block.ActualArea = data[i].ActualArea; | ||
12018 | block.BillableArea = data[i].BillableArea; | ||
12019 | block.Flags = data[i].Flags; | ||
12020 | block.GlobalX = data[i].GlobalX; | ||
12021 | block.GlobalY = data[i].GlobalY; | ||
12022 | block.GlobalZ = data[i].GlobalZ; | ||
12023 | block.SimName = Util.StringToBytes256(data[i].SimName); | ||
12024 | block.SnapshotID = data[i].SnapshotID; | ||
12025 | block.Dwell = data[i].Dwell; | ||
12026 | block.Price = data[i].Price; | ||
12027 | |||
12028 | if (reply != null && reply.Length + block.Length > 1400) | ||
12029 | { | ||
12030 | OutPacket(reply, ThrottleOutPacketType.Task); | ||
12000 | 12031 | ||
12032 | reply = null; | ||
12033 | dataBlocks = new PlacesReplyPacket.QueryDataBlock[0]; | ||
12034 | } | ||
12035 | |||
12036 | if (reply == null) | ||
12037 | { | ||
12038 | reply = (PlacesReplyPacket)PacketPool.Instance.GetPacket(PacketType.PlacesReply); | ||
12039 | reply.AgentData = new PlacesReplyPacket.AgentDataBlock(); | ||
12040 | reply.AgentData.AgentID = AgentId; | ||
12041 | reply.AgentData.QueryID = queryID; | ||
12042 | |||
12043 | reply.TransactionData = new PlacesReplyPacket.TransactionDataBlock(); | ||
12044 | reply.TransactionData.TransactionID = transactionID; | ||
12045 | |||
12046 | reply.QueryData = dataBlocks; | ||
12047 | } | ||
12048 | |||
12049 | Array.Resize(ref dataBlocks, dataBlocks.Length + 1); | ||
12050 | dataBlocks[dataBlocks.Length - 1] = block; | ||
12051 | reply.QueryData = dataBlocks; | ||
12052 | } | ||
12053 | if (reply != null) | ||
12054 | OutPacket(reply, ThrottleOutPacketType.Task); | ||
12001 | } | 12055 | } |
12002 | } | 12056 | } |
12003 | } | 12057 | } |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 311352c..41d6628 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -1165,5 +1165,9 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
1165 | public void StopFlying(ISceneEntity presence) | 1165 | public void StopFlying(ISceneEntity presence) |
1166 | { | 1166 | { |
1167 | } | 1167 | } |
1168 | |||
1169 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1170 | { | ||
1171 | } | ||
1168 | } | 1172 | } |
1169 | } | 1173 | } |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 20870aa..49382f0 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -1686,5 +1686,9 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1686 | public void StopFlying(ISceneEntity presence) | 1686 | public void StopFlying(ISceneEntity presence) |
1687 | { | 1687 | { |
1688 | } | 1688 | } |
1689 | |||
1690 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1691 | { | ||
1692 | } | ||
1689 | } | 1693 | } |
1690 | } | 1694 | } |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 0c43c8a..5d44aa1 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -1170,5 +1170,9 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
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/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 3f3845c..dc0d4de 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs | |||
@@ -1225,5 +1225,9 @@ namespace OpenSim.Tests.Common.Mock | |||
1225 | public void StopFlying(ISceneEntity presence) | 1225 | public void StopFlying(ISceneEntity presence) |
1226 | { | 1226 | { |
1227 | } | 1227 | } |
1228 | |||
1229 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1230 | { | ||
1231 | } | ||
1228 | } | 1232 | } |
1229 | } | 1233 | } |