diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index e39323f..9fe61a7 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -233,6 +233,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
233 | public event ObjectBuy OnObjectBuy; | 233 | public event ObjectBuy OnObjectBuy; |
234 | public event BuyObjectInventory OnBuyObjectInventory; | 234 | public event BuyObjectInventory OnBuyObjectInventory; |
235 | public event AgentSit OnUndo; | 235 | public event AgentSit OnUndo; |
236 | public event AgentSit OnRedo; | ||
237 | public event LandUndo OnLandUndo; | ||
236 | public event ForceReleaseControls OnForceReleaseControls; | 238 | public event ForceReleaseControls OnForceReleaseControls; |
237 | public event GodLandStatRequest OnLandStatRequest; | 239 | public event GodLandStatRequest OnLandStatRequest; |
238 | public event RequestObjectPropertiesFamily OnObjectGroupRequest; | 240 | public event RequestObjectPropertiesFamily OnObjectGroupRequest; |
@@ -4667,6 +4669,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4667 | AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false); | 4669 | AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false); |
4668 | AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false); | 4670 | AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false); |
4669 | AddLocalPacketHandler(PacketType.Undo, HandleUndo, false); | 4671 | AddLocalPacketHandler(PacketType.Undo, HandleUndo, false); |
4672 | AddLocalPacketHandler(PacketType.UndoLand, HandleLandUndo, false); | ||
4673 | AddLocalPacketHandler(PacketType.Redo, HandleRedo, false); | ||
4670 | AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); | 4674 | AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); |
4671 | AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false); | 4675 | AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false); |
4672 | AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); | 4676 | AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); |
@@ -5836,7 +5840,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5836 | handlerSoundTrigger(soundTriggerPacket.SoundData.SoundID, soundTriggerPacket.SoundData.OwnerID, | 5840 | handlerSoundTrigger(soundTriggerPacket.SoundData.SoundID, soundTriggerPacket.SoundData.OwnerID, |
5837 | soundTriggerPacket.SoundData.ObjectID, soundTriggerPacket.SoundData.ParentID, | 5841 | soundTriggerPacket.SoundData.ObjectID, soundTriggerPacket.SoundData.ParentID, |
5838 | soundTriggerPacket.SoundData.Gain, soundTriggerPacket.SoundData.Position, | 5842 | soundTriggerPacket.SoundData.Gain, soundTriggerPacket.SoundData.Position, |
5839 | soundTriggerPacket.SoundData.Handle); | 5843 | soundTriggerPacket.SoundData.Handle, 0); |
5840 | 5844 | ||
5841 | } | 5845 | } |
5842 | return true; | 5846 | return true; |
@@ -6734,6 +6738,56 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6734 | return true; | 6738 | return true; |
6735 | } | 6739 | } |
6736 | 6740 | ||
6741 | private bool HandleLandUndo(IClientAPI sender, Packet Pack) | ||
6742 | { | ||
6743 | UndoLandPacket undolanditem = (UndoLandPacket)Pack; | ||
6744 | |||
6745 | #region Packet Session and User Check | ||
6746 | if (m_checkPackets) | ||
6747 | { | ||
6748 | if (undolanditem.AgentData.SessionID != SessionId || | ||
6749 | undolanditem.AgentData.AgentID != AgentId) | ||
6750 | return true; | ||
6751 | } | ||
6752 | #endregion | ||
6753 | |||
6754 | LandUndo handlerOnUndo = OnLandUndo; | ||
6755 | if (handlerOnUndo != null) | ||
6756 | { | ||
6757 | handlerOnUndo(this); | ||
6758 | } | ||
6759 | return true; | ||
6760 | } | ||
6761 | |||
6762 | private bool HandleRedo(IClientAPI sender, Packet Pack) | ||
6763 | { | ||
6764 | RedoPacket redoitem = (RedoPacket)Pack; | ||
6765 | |||
6766 | #region Packet Session and User Check | ||
6767 | if (m_checkPackets) | ||
6768 | { | ||
6769 | if (redoitem.AgentData.SessionID != SessionId || | ||
6770 | redoitem.AgentData.AgentID != AgentId) | ||
6771 | return true; | ||
6772 | } | ||
6773 | #endregion | ||
6774 | |||
6775 | if (redoitem.ObjectData.Length > 0) | ||
6776 | { | ||
6777 | for (int i = 0; i < redoitem.ObjectData.Length; i++) | ||
6778 | { | ||
6779 | UUID objiD = redoitem.ObjectData[i].ObjectID; | ||
6780 | AgentSit handlerOnRedo = OnRedo; | ||
6781 | if (handlerOnRedo != null) | ||
6782 | { | ||
6783 | handlerOnRedo(this, objiD); | ||
6784 | } | ||
6785 | |||
6786 | } | ||
6787 | } | ||
6788 | return true; | ||
6789 | } | ||
6790 | |||
6737 | private bool HandleObjectDuplicateOnRay(IClientAPI sender, Packet Pack) | 6791 | private bool HandleObjectDuplicateOnRay(IClientAPI sender, Packet Pack) |
6738 | { | 6792 | { |
6739 | ObjectDuplicateOnRayPacket dupeOnRay = (ObjectDuplicateOnRayPacket)Pack; | 6793 | ObjectDuplicateOnRayPacket dupeOnRay = (ObjectDuplicateOnRayPacket)Pack; |