diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2d6508a..412f969 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -132,7 +132,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
132 | private FriendActionDelegate handlerApproveFriendRequest = null; //OnApproveFriendRequest; | 132 | private FriendActionDelegate handlerApproveFriendRequest = null; //OnApproveFriendRequest; |
133 | private FriendshipTermination handlerTerminateFriendship = null; //OnTerminateFriendship; | 133 | private FriendshipTermination handlerTerminateFriendship = null; //OnTerminateFriendship; |
134 | private RezObject handlerRezObject = null; //OnRezObject; | 134 | private RezObject handlerRezObject = null; //OnRezObject; |
135 | private GenericCall4 handlerDeRezObject = null; //OnDeRezObject; | 135 | private DeRezObject handlerDeRezObject = null; //OnDeRezObject; |
136 | private ModifyTerrain handlerModifyTerrain = null; | 136 | private ModifyTerrain handlerModifyTerrain = null; |
137 | private BakeTerrain handlerBakeTerrain = null; | 137 | private BakeTerrain handlerBakeTerrain = null; |
138 | private EstateChangeInfo handlerEstateChangeInfo = null; | 138 | private EstateChangeInfo handlerEstateChangeInfo = null; |
@@ -269,6 +269,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
269 | private DirLandQuery handlerDirLandQuery = null; | 269 | private DirLandQuery handlerDirLandQuery = null; |
270 | private DirPopularQuery handlerDirPopularQuery = null; | 270 | private DirPopularQuery handlerDirPopularQuery = null; |
271 | private DirClassifiedQuery handlerDirClassifiedQuery = null; | 271 | private DirClassifiedQuery handlerDirClassifiedQuery = null; |
272 | private ParcelSetOtherCleanTime handlerParcelSetOtherCleanTime = null; | ||
272 | 273 | ||
273 | private MapItemRequest handlerMapItemRequest = null; | 274 | private MapItemRequest handlerMapItemRequest = null; |
274 | 275 | ||
@@ -851,7 +852,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
851 | public event ChatMessage OnChatFromClient; | 852 | public event ChatMessage OnChatFromClient; |
852 | public event TextureRequest OnRequestTexture; | 853 | public event TextureRequest OnRequestTexture; |
853 | public event RezObject OnRezObject; | 854 | public event RezObject OnRezObject; |
854 | public event GenericCall4 OnDeRezObject; | 855 | public event DeRezObject OnDeRezObject; |
855 | public event ModifyTerrain OnModifyTerrain; | 856 | public event ModifyTerrain OnModifyTerrain; |
856 | public event Action<IClientAPI> OnRegionHandShakeReply; | 857 | public event Action<IClientAPI> OnRegionHandShakeReply; |
857 | public event GenericCall2 OnRequestWearables; | 858 | public event GenericCall2 OnRequestWearables; |
@@ -1004,6 +1005,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1004 | public event DirPopularQuery OnDirPopularQuery; | 1005 | public event DirPopularQuery OnDirPopularQuery; |
1005 | public event DirClassifiedQuery OnDirClassifiedQuery; | 1006 | public event DirClassifiedQuery OnDirClassifiedQuery; |
1006 | public event EventInfoRequest OnEventInfoRequest; | 1007 | public event EventInfoRequest OnEventInfoRequest; |
1008 | public event ParcelSetOtherCleanTime OnParcelSetOtherCleanTime; | ||
1007 | 1009 | ||
1008 | public event MapItemRequest OnMapItemRequest; | 1010 | public event MapItemRequest OnMapItemRequest; |
1009 | 1011 | ||
@@ -2560,22 +2562,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2560 | OutPacket(terse, ThrottleOutPacketType.Task | ThrottleOutPacketType.LowPriority); | 2562 | OutPacket(terse, ThrottleOutPacketType.Task | ThrottleOutPacketType.LowPriority); |
2561 | } | 2563 | } |
2562 | 2564 | ||
2563 | public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, | ||
2564 | Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity) | ||
2565 | { | ||
2566 | if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0) | ||
2567 | rotation = Quaternion.Identity; | ||
2568 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); | ||
2569 | // TODO: don't create new blocks if recycling an old packet | ||
2570 | terse.RegionData.RegionHandle = regionHandle; | ||
2571 | terse.RegionData.TimeDilation = timeDilation; | ||
2572 | terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; | ||
2573 | terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity, 0); | ||
2574 | terse.Header.Reliable = false; | ||
2575 | terse.Header.Zerocoded = true; | ||
2576 | OutPacket(terse, ThrottleOutPacketType.Task | ThrottleOutPacketType.LowPriority); | ||
2577 | } | ||
2578 | |||
2579 | public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID) | 2565 | public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID) |
2580 | { | 2566 | { |
2581 | AssetUploadCompletePacket newPack = new AssetUploadCompletePacket(); | 2567 | AssetUploadCompletePacket newPack = new AssetUploadCompletePacket(); |
@@ -2922,7 +2908,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2922 | updatePacket.ParcelData.AABBMin = landData.AABBMin; | 2908 | updatePacket.ParcelData.AABBMin = landData.AABBMin; |
2923 | updatePacket.ParcelData.Area = landData.Area; | 2909 | updatePacket.ParcelData.Area = landData.Area; |
2924 | updatePacket.ParcelData.AuctionID = landData.AuctionID; | 2910 | updatePacket.ParcelData.AuctionID = landData.AuctionID; |
2925 | updatePacket.ParcelData.AuthBuyerID = landData.AuthBuyerID; //unemplemented | 2911 | updatePacket.ParcelData.AuthBuyerID = landData.AuthBuyerID; |
2926 | 2912 | ||
2927 | updatePacket.ParcelData.Bitmap = landData.Bitmap; | 2913 | updatePacket.ParcelData.Bitmap = landData.Bitmap; |
2928 | 2914 | ||
@@ -2950,7 +2936,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2950 | updatePacket.ParcelData.MediaURL = LLUtil.StringToPacketBytes(landData.MediaURL); | 2936 | updatePacket.ParcelData.MediaURL = LLUtil.StringToPacketBytes(landData.MediaURL); |
2951 | updatePacket.ParcelData.MusicURL = LLUtil.StringToPacketBytes(landData.MusicURL); | 2937 | updatePacket.ParcelData.MusicURL = LLUtil.StringToPacketBytes(landData.MusicURL); |
2952 | updatePacket.ParcelData.Name = Utils.StringToBytes(landData.Name); | 2938 | updatePacket.ParcelData.Name = Utils.StringToBytes(landData.Name); |
2953 | updatePacket.ParcelData.OtherCleanTime = 0; //unemplemented | 2939 | updatePacket.ParcelData.OtherCleanTime = landData.OtherCleanTime; |
2954 | updatePacket.ParcelData.OtherCount = 0; //unemplemented | 2940 | updatePacket.ParcelData.OtherCount = 0; //unemplemented |
2955 | updatePacket.ParcelData.OtherPrims = landData.OtherPrims; | 2941 | updatePacket.ParcelData.OtherPrims = landData.OtherPrims; |
2956 | updatePacket.ParcelData.OwnerID = landData.OwnerID; | 2942 | updatePacket.ParcelData.OwnerID = landData.OwnerID; |
@@ -4190,10 +4176,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4190 | } | 4176 | } |
4191 | break; | 4177 | break; |
4192 | case PacketType.DeRezObject: | 4178 | case PacketType.DeRezObject: |
4179 | DeRezObjectPacket DeRezPacket = (DeRezObjectPacket) Pack; | ||
4193 | handlerDeRezObject = OnDeRezObject; | 4180 | handlerDeRezObject = OnDeRezObject; |
4194 | if (handlerDeRezObject != null) | 4181 | if (handlerDeRezObject != null) |
4195 | { | 4182 | { |
4196 | handlerDeRezObject(Pack, this); | 4183 | foreach (DeRezObjectPacket.ObjectDataBlock data in |
4184 | DeRezPacket.ObjectData) | ||
4185 | { | ||
4186 | handlerDeRezObject(this, data.ObjectLocalID, | ||
4187 | DeRezPacket.AgentBlock.GroupID, | ||
4188 | DeRezPacket.AgentBlock.Destination, | ||
4189 | DeRezPacket.AgentBlock.DestinationID); | ||
4190 | } | ||
4197 | } | 4191 | } |
4198 | break; | 4192 | break; |
4199 | case PacketType.ModifyLand: | 4193 | case PacketType.ModifyLand: |
@@ -6443,6 +6437,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6443 | } | 6437 | } |
6444 | break; | 6438 | break; |
6445 | 6439 | ||
6440 | case PacketType.ParcelSetOtherCleanTime: | ||
6441 | ParcelSetOtherCleanTimePacket parcelSetOtherCleanTimePacket = (ParcelSetOtherCleanTimePacket)Pack; | ||
6442 | handlerParcelSetOtherCleanTime = OnParcelSetOtherCleanTime; | ||
6443 | if (handlerParcelSetOtherCleanTime != null) | ||
6444 | { | ||
6445 | handlerParcelSetOtherCleanTime(this, | ||
6446 | parcelSetOtherCleanTimePacket.ParcelData.LocalID, | ||
6447 | parcelSetOtherCleanTimePacket.ParcelData.OtherCleanTime); | ||
6448 | } | ||
6449 | break; | ||
6446 | default: | 6450 | default: |
6447 | m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString()); | 6451 | m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString()); |
6448 | break; | 6452 | break; |