aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-11 19:08:59 +0000
committerMelanie Thielker2008-11-11 19:08:59 +0000
commit47a5d71b7e7e8a354bd5640055cf4efdb881b954 (patch)
treeaaea097d01d36e826f9596bcb4139f445b919888
parentminor: refactor some SceneTests code for future tests (diff)
downloadopensim-SC-47a5d71b7e7e8a354bd5640055cf4efdb881b954.zip
opensim-SC-47a5d71b7e7e8a354bd5640055cf4efdb881b954.tar.gz
opensim-SC-47a5d71b7e7e8a354bd5640055cf4efdb881b954.tar.bz2
opensim-SC-47a5d71b7e7e8a354bd5640055cf4efdb881b954.tar.xz
Prevent pieces from other people's HUDs from displaying at the center of
every user's HUD
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/IClientAPI.cs4
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs9
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs3
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs5
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