Merge branch 'master' into careminster

avinationmerge
Melanie 2012-06-14 00:57:05 +01:00
commit 36117e079a
4 changed files with 21 additions and 8 deletions

View File

@ -333,7 +333,6 @@ namespace OpenSim.Region.ClientStack.Linden
grp.AbsolutePosition = obj.Position; grp.AbsolutePosition = obj.Position;
prim.RotationOffset = obj.Rotation; prim.RotationOffset = obj.Rotation;
grp.IsAttachment = false;
// Required for linking // Required for linking
grp.RootPart.ClearUpdateSchedule(); grp.RootPart.ClearUpdateSchedule();

View File

@ -78,11 +78,8 @@ namespace OpenSim.Region.CoreModules.World.Sound
if (grp.IsAttachment) if (grp.IsAttachment)
{ {
if (grp.AttachmentPoint > 30) // HUD if (grp.HasPrivateAttachmentPoint && sp.ControllingClient.AgentId != grp.OwnerID)
{
if (sp.ControllingClient.AgentId != grp.OwnerID)
return; return;
}
if (sp.ControllingClient.AgentId == grp.OwnerID) if (sp.ControllingClient.AgentId == grp.OwnerID)
dis = 0; dis = 0;

View File

@ -244,6 +244,22 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
/// <summary>
/// If this scene object has an attachment point then indicate whether there is a point where
/// attachments are perceivable by avatars other than the avatar to which this object is attached.
/// </summary>
/// <remarks>
/// HUDs are not perceivable by other avatars.
/// </remarks>
public bool HasPrivateAttachmentPoint
{
get
{
return AttachmentPoint >= (uint)OpenMetaverse.AttachmentPoint.HUDCenter2
&& AttachmentPoint <= (uint)OpenMetaverse.AttachmentPoint.HUDBottomRight;
}
}
public void ClearPartAttachmentData() public void ClearPartAttachmentData()
{ {
AttachmentPoint = 0; AttachmentPoint = 0;

View File

@ -3125,8 +3125,9 @@ namespace OpenSim.Region.Framework.Scenes
if (ParentGroup.IsDeleted) if (ParentGroup.IsDeleted)
return; return;
if (ParentGroup.IsAttachment && (ParentGroup.AttachedAvatar != remoteClient.AgentId) && if (ParentGroup.IsAttachment
(ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38)) && ParentGroup.AttachedAvatar != remoteClient.AgentId
&& ParentGroup.HasPrivateAttachmentPoint)
return; return;
if (remoteClient.AgentId == OwnerID) if (remoteClient.AgentId == OwnerID)