aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs46
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;