diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/DataSnapshot/ObjectSnapshot.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 2 |
3 files changed, 18 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 563d83b..d82b0cc 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -4725,8 +4725,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4725 | 4725 | ||
4726 | if (handlerGrabUpdate != null) | 4726 | if (handlerGrabUpdate != null) |
4727 | { | 4727 | { |
4728 | List<SurfaceTouchEventArgs> touchArgs = new List<SurfaceTouchEventArgs>(); | ||
4729 | if ((grabUpdate.SurfaceInfo != null) && (grabUpdate.SurfaceInfo.Length > 0)) | ||
4730 | { | ||
4731 | foreach (ObjectGrabUpdatePacket.SurfaceInfoBlock surfaceInfo in grabUpdate.SurfaceInfo) | ||
4732 | { | ||
4733 | SurfaceTouchEventArgs arg = new SurfaceTouchEventArgs(); | ||
4734 | arg.Binormal = surfaceInfo.Binormal; | ||
4735 | arg.FaceIndex = surfaceInfo.FaceIndex; | ||
4736 | arg.Normal = surfaceInfo.Normal; | ||
4737 | arg.Position = surfaceInfo.Position; | ||
4738 | arg.STCoord = surfaceInfo.STCoord; | ||
4739 | arg.UVCoord = surfaceInfo.UVCoord; | ||
4740 | touchArgs.Add(arg); | ||
4741 | } | ||
4742 | } | ||
4728 | handlerGrabUpdate(grabUpdate.ObjectData.ObjectID, grabUpdate.ObjectData.GrabOffsetInitial, | 4743 | handlerGrabUpdate(grabUpdate.ObjectData.ObjectID, grabUpdate.ObjectData.GrabOffsetInitial, |
4729 | grabUpdate.ObjectData.GrabPosition, this); | 4744 | grabUpdate.ObjectData.GrabPosition, this, touchArgs); |
4730 | } | 4745 | } |
4731 | break; | 4746 | break; |
4732 | case PacketType.ObjectDeGrab: | 4747 | case PacketType.ObjectDeGrab: |
diff --git a/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs b/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs index 49d9aec..c77de96 100644 --- a/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs +++ b/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs | |||
@@ -68,7 +68,7 @@ namespace OpenSim.Region.DataSnapshot.Providers | |||
68 | { this.Stale = true; }; | 68 | { this.Stale = true; }; |
69 | client.OnDelinkObjects += delegate(List<uint> primIds) { this.Stale = true; }; | 69 | client.OnDelinkObjects += delegate(List<uint> primIds) { this.Stale = true; }; |
70 | client.OnGrabUpdate += delegate(UUID objectID, Vector3 offset, Vector3 grapPos, | 70 | client.OnGrabUpdate += delegate(UUID objectID, Vector3 offset, Vector3 grapPos, |
71 | IClientAPI remoteClient) { this.Stale = true; }; | 71 | IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs) { this.Stale = true; }; |
72 | client.OnObjectAttach += delegate(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, | 72 | client.OnObjectAttach += delegate(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, |
73 | Quaternion rot) { this.Stale = true; }; | 73 | Quaternion rot) { this.Stale = true; }; |
74 | client.OnObjectDuplicate += delegate(uint localID, Vector3 offset, uint dupeFlags, UUID AgentID, | 74 | client.OnObjectDuplicate += delegate(uint localID, Vector3 offset, uint dupeFlags, UUID AgentID, |
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 4840133..80d0151 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -1214,7 +1214,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1214 | /// <param name="offset"></param> | 1214 | /// <param name="offset"></param> |
1215 | /// <param name="pos"></param> | 1215 | /// <param name="pos"></param> |
1216 | /// <param name="remoteClient"></param> | 1216 | /// <param name="remoteClient"></param> |
1217 | protected internal void MoveObject(UUID objectID, Vector3 offset, Vector3 pos, IClientAPI remoteClient) | 1217 | protected internal void MoveObject(UUID objectID, Vector3 offset, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs) |
1218 | { | 1218 | { |
1219 | SceneObjectGroup group = GetGroupByPrim(objectID); | 1219 | SceneObjectGroup group = GetGroupByPrim(objectID); |
1220 | if (group != null) | 1220 | if (group != null) |