diff options
author | Melanie Thielker | 2008-10-18 05:51:36 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-10-18 05:51:36 +0000 |
commit | efe3f3eb2a0a31b1da474974c7d8193c2b28e13f (patch) | |
tree | df1d30ad2f9230ea4e8fbfd1e6368d539600c785 /OpenSim/Region/ClientStack/LindenUDP | |
parent | * Fix an over compensation for bounciness on flat Primitive (diff) | |
download | opensim-SC_OLD-efe3f3eb2a0a31b1da474974c7d8193c2b28e13f.zip opensim-SC_OLD-efe3f3eb2a0a31b1da474974c7d8193c2b28e13f.tar.gz opensim-SC_OLD-efe3f3eb2a0a31b1da474974c7d8193c2b28e13f.tar.bz2 opensim-SC_OLD-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 'OpenSim/Region/ClientStack/LindenUDP')
-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; |