diff options
Diffstat (limited to '')
5 files changed, 16 insertions, 9 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 508fefb..513595f 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -781,7 +781,7 @@ namespace OpenSim.Framework | |||
781 | 781 | ||
782 | void SendCoarseLocationUpdate(List<Vector3> CoarseLocations); | 782 | void SendCoarseLocationUpdate(List<Vector3> CoarseLocations); |
783 | 783 | ||
784 | void AttachObject(uint localID, Quaternion rotation, byte attachPoint); | 784 | void AttachObject(uint localID, Quaternion rotation, byte attachPoint, UUID ownerID); |
785 | void SetChildAgentThrottle(byte[] throttle); | 785 | void SetChildAgentThrottle(byte[] throttle); |
786 | 786 | ||
787 | void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, | 787 | void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, |
@@ -802,7 +802,7 @@ namespace OpenSim.Framework | |||
802 | 802 | ||
803 | void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, | 803 | void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, |
804 | Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state, | 804 | Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state, |
805 | UUID AssetId); | 805 | UUID AssetId, UUID owner, int attachPoint); |
806 | 806 | ||
807 | void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items, | 807 | void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items, |
808 | List<InventoryFolderBase> folders, bool fetchFolders, | 808 | List<InventoryFolderBase> folders, bool fetchFolders, |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 06280ca..f25f3eb 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2332,8 +2332,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2332 | /// <param name="localID"></param> | 2332 | /// <param name="localID"></param> |
2333 | /// <param name="rotation"></param> | 2333 | /// <param name="rotation"></param> |
2334 | /// <param name="attachPoint"></param> | 2334 | /// <param name="attachPoint"></param> |
2335 | public void AttachObject(uint localID, Quaternion rotation, byte attachPoint) | 2335 | public void AttachObject(uint localID, Quaternion rotation, byte attachPoint, UUID ownerID) |
2336 | { | 2336 | { |
2337 | if (attachPoint > 30 && ownerID != AgentId) // Someone else's HUD | ||
2338 | return; | ||
2337 | 2339 | ||
2338 | ObjectAttachPacket attach = (ObjectAttachPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAttach); | 2340 | ObjectAttachPacket attach = (ObjectAttachPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAttach); |
2339 | Console.WriteLine("Attach object!"); | 2341 | Console.WriteLine("Attach object!"); |
@@ -2458,8 +2460,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2458 | /// | 2460 | /// |
2459 | /// </summary> | 2461 | /// </summary> |
2460 | public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, | 2462 | public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, |
2461 | Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state, UUID AssetId) | 2463 | Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state, UUID AssetId, UUID ownerID, int attachPoint) |
2462 | { | 2464 | { |
2465 | if (attachPoint > 30 && ownerID != AgentId) // Someone else's HUD | ||
2466 | return; | ||
2467 | |||
2463 | if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0) | 2468 | if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0) |
2464 | rotation = Quaternion.Identity; | 2469 | rotation = Quaternion.Identity; |
2465 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); | 2470 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); |
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 7b077ec..2792bf8 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -560,7 +560,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
560 | { | 560 | { |
561 | } | 561 | } |
562 | 562 | ||
563 | public virtual void AttachObject(uint localID, Quaternion rotation, byte attachPoint) | 563 | public virtual void AttachObject(uint localID, Quaternion rotation, byte attachPoint, UUID ownerID) |
564 | { | 564 | { |
565 | } | 565 | } |
566 | 566 | ||
@@ -587,7 +587,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
587 | } | 587 | } |
588 | public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, | 588 | public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, |
589 | Vector3 position, Quaternion rotation, Vector3 velocity, | 589 | Vector3 position, Quaternion rotation, Vector3 velocity, |
590 | Vector3 rotationalvelocity, byte state, UUID AssetId) | 590 | Vector3 rotationalvelocity, byte state, UUID AssetId, UUID ownerID, int attachPoint) |
591 | { | 591 | { |
592 | } | 592 | } |
593 | 593 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 05b23aa..c5f20da 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -3362,7 +3362,8 @@ if (m_shape != null) { | |||
3362 | (ushort)(m_parentGroup.GetTimeDilation() * | 3362 | (ushort)(m_parentGroup.GetTimeDilation() * |
3363 | (float)ushort.MaxValue), LocalId, lPos, | 3363 | (float)ushort.MaxValue), LocalId, lPos, |
3364 | RotationOffset, Velocity, | 3364 | RotationOffset, Velocity, |
3365 | RotationalVelocity, state, FromAssetID); | 3365 | RotationalVelocity, state, FromAssetID, |
3366 | OwnerID, (int)AttachmentPoint); | ||
3366 | } | 3367 | } |
3367 | } | 3368 | } |
3368 | } | 3369 | } |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 66fb6d8..44ad400 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -473,7 +473,7 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
473 | { | 473 | { |
474 | } | 474 | } |
475 | 475 | ||
476 | public virtual void AttachObject(uint localID, Quaternion rotation, byte attachPoint) | 476 | public virtual void AttachObject(uint localID, Quaternion rotation, byte attachPoint, UUID ownerID) |
477 | { | 477 | { |
478 | } | 478 | } |
479 | 479 | ||
@@ -500,7 +500,8 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
500 | } | 500 | } |
501 | public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, | 501 | public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, |
502 | Vector3 position, Quaternion rotation, Vector3 velocity, | 502 | Vector3 position, Quaternion rotation, Vector3 velocity, |
503 | Vector3 rotationalvelocity, byte state, UUID AssetId) | 503 | Vector3 rotationalvelocity, byte state, UUID AssetId, |
504 | UUID ownerID, int attachPoint) | ||
504 | { | 505 | { |
505 | } | 506 | } |
506 | 507 | ||