aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Framework/IClientAPI.cs4
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs21
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs2
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs2
5 files changed, 24 insertions, 7 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 26ab586..dd905c9 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -144,6 +144,8 @@ namespace OpenSim.Framework
144 public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery 144 public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery
145 ); 145 );
146 146
147 public delegate void GrabObject(uint localID, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs);
148
147 public delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs); 149 public delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs);
148 150
149 public delegate void ParcelAccessListRequest( 151 public delegate void ParcelAccessListRequest(
@@ -426,7 +428,7 @@ namespace OpenSim.Framework
426 428
427 event ObjectDuplicate OnObjectDuplicate; 429 event ObjectDuplicate OnObjectDuplicate;
428 event ObjectDuplicateOnRay OnObjectDuplicateOnRay; 430 event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
429 event UpdateVector OnGrabObject; 431 event GrabObject OnGrabObject;
430 event ObjectSelect OnDeGrabObject; 432 event ObjectSelect OnDeGrabObject;
431 event MoveObject OnGrabUpdate; 433 event MoveObject OnGrabUpdate;
432 434
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index d82b0cc..7eda272 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -166,7 +166,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
166 private ObjectIncludeInSearch handlerObjectIncludeInSearch = null; 166 private ObjectIncludeInSearch handlerObjectIncludeInSearch = null;
167 private UpdatePrimFlags handlerUpdatePrimFlags = null; //OnUpdatePrimFlags; 167 private UpdatePrimFlags handlerUpdatePrimFlags = null; //OnUpdatePrimFlags;
168 private UpdatePrimTexture handlerUpdatePrimTexture = null; 168 private UpdatePrimTexture handlerUpdatePrimTexture = null;
169 private UpdateVector handlerGrabObject = null; //OnGrabObject; 169 private GrabObject handlerGrabObject = null; //OnGrabObject;
170 private MoveObject handlerGrabUpdate = null; //OnGrabUpdate; 170 private MoveObject handlerGrabUpdate = null; //OnGrabUpdate;
171 private ObjectSelect handlerDeGrabObject = null; //OnDeGrabObject; 171 private ObjectSelect handlerDeGrabObject = null; //OnDeGrabObject;
172 private GenericCall7 handlerObjectDescription = null; 172 private GenericCall7 handlerObjectDescription = null;
@@ -866,7 +866,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
866 public event Action<IClientAPI> OnRequestAvatarsData; 866 public event Action<IClientAPI> OnRequestAvatarsData;
867 public event LinkObjects OnLinkObjects; 867 public event LinkObjects OnLinkObjects;
868 public event DelinkObjects OnDelinkObjects; 868 public event DelinkObjects OnDelinkObjects;
869 public event UpdateVector OnGrabObject; 869 public event GrabObject OnGrabObject;
870 public event ObjectSelect OnDeGrabObject; 870 public event ObjectSelect OnDeGrabObject;
871 public event ObjectDuplicate OnObjectDuplicate; 871 public event ObjectDuplicate OnObjectDuplicate;
872 public event ObjectDuplicateOnRay OnObjectDuplicateOnRay; 872 public event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
@@ -4715,7 +4715,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4715 4715
4716 if (handlerGrabObject != null) 4716 if (handlerGrabObject != null)
4717 { 4717 {
4718 handlerGrabObject(grab.ObjectData.LocalID, grab.ObjectData.GrabOffset, this); 4718 List<SurfaceTouchEventArgs> touchArgs = new List<SurfaceTouchEventArgs>();
4719 if ((grab.SurfaceInfo != null) && (grab.SurfaceInfo.Length > 0))
4720 {
4721 foreach (ObjectGrabPacket.SurfaceInfoBlock surfaceInfo in grab.SurfaceInfo)
4722 {
4723 SurfaceTouchEventArgs arg = new SurfaceTouchEventArgs();
4724 arg.Binormal = surfaceInfo.Binormal;
4725 arg.FaceIndex = surfaceInfo.FaceIndex;
4726 arg.Normal = surfaceInfo.Normal;
4727 arg.Position = surfaceInfo.Position;
4728 arg.STCoord = surfaceInfo.STCoord;
4729 arg.UVCoord = surfaceInfo.UVCoord;
4730 touchArgs.Add(arg);
4731 }
4732 }
4733 handlerGrabObject(grab.ObjectData.LocalID, grab.ObjectData.GrabOffset, this, touchArgs);
4719 } 4734 }
4720 break; 4735 break;
4721 case PacketType.ObjectGrabUpdate: 4736 case PacketType.ObjectGrabUpdate:
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index b438709..d0fbfb9 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -197,7 +197,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
197 public event RequestGodlikePowers OnRequestGodlikePowers; 197 public event RequestGodlikePowers OnRequestGodlikePowers;
198 public event GodKickUser OnGodKickUser; 198 public event GodKickUser OnGodKickUser;
199 public event ObjectDuplicate OnObjectDuplicate; 199 public event ObjectDuplicate OnObjectDuplicate;
200 public event UpdateVector OnGrabObject; 200 public event GrabObject OnGrabObject;
201 public event ObjectSelect OnDeGrabObject; 201 public event ObjectSelect OnDeGrabObject;
202 public event MoveObject OnGrabUpdate; 202 public event MoveObject OnGrabUpdate;
203 public event ViewerEffectEventHandler OnViewerEffect; 203 public event ViewerEffectEventHandler OnViewerEffect;
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index b60efdc..e9a381d 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -212,7 +212,7 @@ namespace OpenSim.Region.Environment.Scenes
212 m_eventManager.TriggerLandBuy(this, args); 212 m_eventManager.TriggerLandBuy(this, args);
213 } 213 }
214 214
215 public virtual void ProcessObjectGrab(uint localID, Vector3 offsetPos, IClientAPI remoteClient) 215 public virtual void ProcessObjectGrab(uint localID, Vector3 offsetPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs)
216 { 216 {
217 217
218 List<EntityBase> EntityList = GetEntities(); 218 List<EntityBase> EntityList = GetEntities();
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index 46c6425..6c2831e 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -92,7 +92,7 @@ namespace OpenSim.Region.Examples.SimpleModule
92 public event RequestGodlikePowers OnRequestGodlikePowers; 92 public event RequestGodlikePowers OnRequestGodlikePowers;
93 public event GodKickUser OnGodKickUser; 93 public event GodKickUser OnGodKickUser;
94 public event ObjectDuplicate OnObjectDuplicate; 94 public event ObjectDuplicate OnObjectDuplicate;
95 public event UpdateVector OnGrabObject; 95 public event GrabObject OnGrabObject;
96 public event ObjectSelect OnDeGrabObject; 96 public event ObjectSelect OnDeGrabObject;
97 public event MoveObject OnGrabUpdate; 97 public event MoveObject OnGrabUpdate;
98 public event ViewerEffectEventHandler OnViewerEffect; 98 public event ViewerEffectEventHandler OnViewerEffect;