diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 9bef65f..484518a 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -250,6 +250,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
250 | 250 | ||
251 | private ForceReleaseControls handlerForceReleaseControls = null; | 251 | private ForceReleaseControls handlerForceReleaseControls = null; |
252 | 252 | ||
253 | private GodLandStatRequest handlerLandStatRequest = null; | ||
254 | |||
253 | private UUIDNameRequest handlerUUIDGroupNameRequest = null; | 255 | private UUIDNameRequest handlerUUIDGroupNameRequest = null; |
254 | 256 | ||
255 | private RequestObjectPropertiesFamily handlerObjectGroupRequest = null; | 257 | private RequestObjectPropertiesFamily handlerObjectGroupRequest = null; |
@@ -842,6 +844,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
842 | 844 | ||
843 | public event ForceReleaseControls OnForceReleaseControls; | 845 | public event ForceReleaseControls OnForceReleaseControls; |
844 | 846 | ||
847 | public event GodLandStatRequest OnLandStatRequest; | ||
848 | |||
845 | public event RequestObjectPropertiesFamily OnObjectGroupRequest; | 849 | public event RequestObjectPropertiesFamily OnObjectGroupRequest; |
846 | 850 | ||
847 | public event DetailedEstateDataRequest OnDetailedEstateDataRequest; | 851 | public event DetailedEstateDataRequest OnDetailedEstateDataRequest; |
@@ -5641,11 +5645,35 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5641 | OnEstateTeleportOneUserHomeRequest(this,invoice,SenderID,Prey); | 5645 | OnEstateTeleportOneUserHomeRequest(this,invoice,SenderID,Prey); |
5642 | } | 5646 | } |
5643 | break; | 5647 | break; |
5648 | case "colliders": | ||
5649 | handlerLandStatRequest = OnLandStatRequest; | ||
5650 | if (handlerLandStatRequest != null) | ||
5651 | { | ||
5652 | handlerLandStatRequest(0, 1, 0, "", this); | ||
5653 | } | ||
5654 | break; | ||
5644 | default: | 5655 | default: |
5645 | m_log.Error("EstateOwnerMessage: Unknown method requested\n" + messagePacket.ToString()); | 5656 | m_log.Error("EstateOwnerMessage: Unknown method requested\n" + messagePacket.ToString()); |
5646 | break; | 5657 | break; |
5647 | } | 5658 | } |
5648 | break; | 5659 | break; |
5660 | case PacketType.LandStatRequest: | ||
5661 | LandStatRequestPacket lsrp = (LandStatRequestPacket)Pack; | ||
5662 | |||
5663 | handlerLandStatRequest = OnLandStatRequest; | ||
5664 | if (handlerLandStatRequest != null) | ||
5665 | { | ||
5666 | handlerLandStatRequest(lsrp.RequestData.ParcelLocalID,lsrp.RequestData.ReportType,lsrp.RequestData.RequestFlags,Helpers.FieldToUTF8String(lsrp.RequestData.Filter),this); | ||
5667 | } | ||
5668 | //int parcelID, uint reportType, uint requestflags, string filter | ||
5669 | |||
5670 | //lsrp.RequestData.ParcelLocalID; | ||
5671 | //lsrp.RequestData.ReportType; // 1 = colliders, 0 = scripts | ||
5672 | //lsrp.RequestData.RequestFlags; | ||
5673 | //lsrp.RequestData.Filter; | ||
5674 | |||
5675 | break; | ||
5676 | |||
5649 | case PacketType.RequestRegionInfo: | 5677 | case PacketType.RequestRegionInfo: |
5650 | RequestRegionInfoPacket.AgentDataBlock mPacket = ((RequestRegionInfoPacket)Pack).AgentData; | 5678 | RequestRegionInfoPacket.AgentDataBlock mPacket = ((RequestRegionInfoPacket)Pack).AgentData; |
5651 | 5679 | ||
@@ -5982,6 +6010,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5982 | pack.UUIDNameBlock = uidnameblock; | 6010 | pack.UUIDNameBlock = uidnameblock; |
5983 | OutPacket(pack, ThrottleOutPacketType.Task); | 6011 | OutPacket(pack, ThrottleOutPacketType.Task); |
5984 | } | 6012 | } |
6013 | |||
6014 | public void SendLandStatReply(uint reportType, uint requestFlags, uint resultCount, LandStatReportItem[] lsrpia) | ||
6015 | { | ||
6016 | LandStatReplyPacket lsrp = new LandStatReplyPacket(); | ||
6017 | LandStatReplyPacket.RequestDataBlock lsreqdpb = new LandStatReplyPacket.RequestDataBlock(); | ||
6018 | LandStatReplyPacket.ReportDataBlock[] lsrepdba = new LandStatReplyPacket.ReportDataBlock[lsrpia.Length]; | ||
6019 | //LandStatReplyPacket.ReportDataBlock lsrepdb = new LandStatReplyPacket.ReportDataBlock(); | ||
6020 | // lsrepdb. | ||
6021 | lsrp.RequestData.ReportType = reportType; | ||
6022 | lsrp.RequestData.RequestFlags = requestFlags; | ||
6023 | lsrp.RequestData.TotalObjectCount = resultCount; | ||
6024 | for (int i = 0; i < lsrpia.Length; i++) | ||
6025 | { | ||
6026 | LandStatReplyPacket.ReportDataBlock lsrepdb = new LandStatReplyPacket.ReportDataBlock(); | ||
6027 | lsrepdb.LocationX = lsrpia[i].LocationX; | ||
6028 | lsrepdb.LocationY = lsrpia[i].LocationY; | ||
6029 | lsrepdb.LocationZ = lsrpia[i].LocationZ; | ||
6030 | lsrepdb.Score = lsrpia[i].Score; | ||
6031 | lsrepdb.TaskID = lsrpia[i].TaskID; | ||
6032 | lsrepdb.TaskLocalID = lsrpia[i].TaskLocalID; | ||
6033 | lsrepdb.TaskName = Helpers.StringToField(lsrpia[i].TaskName); | ||
6034 | lsrepdb.OwnerName = Helpers.StringToField(lsrpia[i].OwnerName); | ||
6035 | lsrepdba[i] = lsrepdb; | ||
6036 | } | ||
6037 | lsrp.ReportData = lsrepdba; | ||
6038 | OutPacket(lsrp, ThrottleOutPacketType.Task); | ||
6039 | } | ||
6040 | |||
5985 | public ClientInfo GetClientInfo() | 6041 | public ClientInfo GetClientInfo() |
5986 | { | 6042 | { |
5987 | //MainLog.Instance.Verbose("CLIENT", "GetClientInfo BGN"); | 6043 | //MainLog.Instance.Verbose("CLIENT", "GetClientInfo BGN"); |