aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorMelanie Thielker2008-10-18 05:51:36 +0000
committerMelanie Thielker2008-10-18 05:51:36 +0000
commitefe3f3eb2a0a31b1da474974c7d8193c2b28e13f (patch)
treedf1d30ad2f9230ea4e8fbfd1e6368d539600c785 /OpenSim/Region/ClientStack
parent* Fix an over compensation for bounciness on flat Primitive (diff)
downloadopensim-SC-efe3f3eb2a0a31b1da474974c7d8193c2b28e13f.zip
opensim-SC-efe3f3eb2a0a31b1da474974c7d8193c2b28e13f.tar.gz
opensim-SC-efe3f3eb2a0a31b1da474974c7d8193c2b28e13f.tar.bz2
opensim-SC-efe3f3eb2a0a31b1da474974c7d8193c2b28e13f.tar.xz
Megapatch. :) Fix skull attachment editing. Streamline Object terse updates.
Add rezzing time to objects. Add Object return and traffic fields to land database. Add plumbing for auto return. Implement auto return. Contains a migration. May contain nuts.
Diffstat (limited to '')
-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;