aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rwxr-xr-xOpenSim/Region/Framework/Scenes/SceneGraph.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs57
2 files changed, 1 insertions, 58 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 8fc438d..49e98e7 100755
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1569,7 +1569,7 @@ namespace OpenSim.Region.Framework.Scenes
1569 if (group.IsAttachment || (group.RootPart.Shape.PCode == 9 && group.RootPart.Shape.State != 0)) 1569 if (group.IsAttachment || (group.RootPart.Shape.PCode == 9 && group.RootPart.Shape.State != 0))
1570 { 1570 {
1571 // Set the new attachment point data in the object 1571 // Set the new attachment point data in the object
1572 byte attachmentPoint = group.GetAttachmentPoint(); 1572 byte attachmentPoint = (byte)group.AttachmentPoint;
1573 group.UpdateGroupPosition(pos); 1573 group.UpdateGroupPosition(pos);
1574 group.IsAttachment = false; 1574 group.IsAttachment = false;
1575 group.AbsolutePosition = group.RootPart.AttachedPos; 1575 group.AbsolutePosition = group.RootPart.AttachedPos;
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 83c5db4..dff242e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1783,63 +1783,6 @@ namespace OpenSim.Region.Framework.Scenes
1783 } 1783 }
1784 } 1784 }
1785 1785
1786 /// <summary>
1787 /// Attach this scene object to the given avatar.
1788 /// </summary>
1789 /// <param name="agentID"></param>
1790 /// <param name="attachmentpoint"></param>
1791 /// <param name="AttachOffset"></param>
1792 private void AttachToAgent(
1793 ScenePresence avatar, SceneObjectGroup so, uint attachmentpoint, Vector3 attachOffset, bool silent)
1794 {
1795 if (avatar != null)
1796 {
1797 // don't attach attachments to child agents
1798 if (avatar.IsChildAgent) return;
1799
1800 // Remove from database and parcel prim count
1801 m_scene.DeleteFromStorage(so.UUID);
1802 m_scene.EventManager.TriggerParcelPrimCountTainted();
1803
1804 so.AttachedAvatar = avatar.UUID;
1805
1806 if (so.RootPart.PhysActor != null)
1807 {
1808 m_scene.PhysicsScene.RemovePrim(so.RootPart.PhysActor);
1809 so.RootPart.PhysActor = null;
1810 }
1811
1812 so.AbsolutePosition = attachOffset;
1813 so.RootPart.AttachedPos = attachOffset;
1814 so.IsAttachment = true;
1815 so.RootPart.SetParentLocalId(avatar.LocalId);
1816 so.AttachmentPoint = attachmentpoint;
1817
1818 avatar.AddAttachment(this);
1819
1820 if (!silent)
1821 {
1822 // Killing it here will cause the client to deselect it
1823 // It then reappears on the avatar, deselected
1824 // through the full update below
1825 //
1826 if (IsSelected)
1827 {
1828 m_scene.SendKillObject(new List<uint> { m_rootPart.LocalId });
1829 }
1830
1831 IsSelected = false; // fudge....
1832 ScheduleGroupForFullUpdate();
1833 }
1834 }
1835 else
1836 {
1837 m_log.WarnFormat(
1838 "[SOG]: Tried to add attachment {0} to avatar with UUID {1} in region {2} but the avatar is not present",
1839 UUID, avatar.ControllingClient.AgentId, Scene.RegionInfo.RegionName);
1840 }
1841 }
1842
1843 public byte GetAttachmentPoint() 1786 public byte GetAttachmentPoint()
1844 { 1787 {
1845 return m_rootPart.Shape.State; 1788 return m_rootPart.Shape.State;