aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-04-27 20:10:28 +0000
committerTeravus Ovares2008-04-27 20:10:28 +0000
commit911e63765c7cea748b5ae2227f5c1d6ff131d329 (patch)
treef95eeffb4974a9b3f6ded4a46bdc240278a336b0 /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
parentMinor svn, formatting cleanup. (diff)
downloadopensim-SC-911e63765c7cea748b5ae2227f5c1d6ff131d329.zip
opensim-SC-911e63765c7cea748b5ae2227f5c1d6ff131d329.tar.gz
opensim-SC-911e63765c7cea748b5ae2227f5c1d6ff131d329.tar.bz2
opensim-SC-911e63765c7cea748b5ae2227f5c1d6ff131d329.tar.xz
* Single Attachments now work from inventory. You can attach from inventory and detach from inventory.
* Detaching from right clicking in world, detaches to your inventory. * If you go up to a prim and attach it from in world, it appears in your inventory. * Attachment placement is saved when you detach them. * Choosing wear remembers your last attachment point from inventory. * Wrote a method to update an inventory item's asset and sends the updated inventory item to the Client * Wrote a recursive method to find the folder of a known existing inventory item. * Removed a block on physics object position on creation. This might crash a region or two, let us know via Mantis if your region crashes because of a physics out of bounds error. * Drop doesn't work. The menu item doesn't even come up. Don't know why :P.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs26
1 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 2493ed8..ba318a8 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -663,9 +663,11 @@ namespace OpenSim.Region.Environment.Scenes
663 { 663 {
664 m_scene.PhysicsScene.RemovePrim(m_rootPart.PhysActor); 664 m_scene.PhysicsScene.RemovePrim(m_rootPart.PhysActor);
665 m_rootPart.PhysActor = null; 665 m_rootPart.PhysActor = null;
666 AbsolutePosition = AttachOffset; 666
667 m_rootPart.m_attachedPos = AttachOffset;
668 } 667 }
668
669 AbsolutePosition = AttachOffset;
670 m_rootPart.m_attachedPos = AttachOffset;
669 m_rootPart.m_IsAttachment = true; 671 m_rootPart.m_IsAttachment = true;
670 672
671 m_rootPart.SetParentLocalId(avatar.LocalId); 673 m_rootPart.SetParentLocalId(avatar.LocalId);
@@ -702,6 +704,26 @@ namespace OpenSim.Region.Environment.Scenes
702 AttachToBackup(); 704 AttachToBackup();
703 m_rootPart.ScheduleFullUpdate(); 705 m_rootPart.ScheduleFullUpdate();
704 } 706 }
707 public void DetachToInventoryPrep()
708 {
709 ScenePresence avatar = m_scene.GetScenePresence(m_rootPart.m_attachedAvatar);
710 //LLVector3 detachedpos = new LLVector3(127f, 127f, 127f);
711 if (avatar != null)
712 {
713 //detachedpos = avatar.AbsolutePosition;
714 avatar.RemoveAttachment(this);
715 }
716
717 m_rootPart.m_attachedAvatar = LLUUID.Zero;
718 m_rootPart.SetParentLocalId(0);
719 //m_rootPart.SetAttachmentPoint((byte)0);
720 m_rootPart.m_IsAttachment = false;
721 AbsolutePosition = m_rootPart.m_attachedPos;
722 //m_rootPart.ApplyPhysics(m_rootPart.ObjectFlags, m_scene.m_physicalPrim);
723 //AttachToBackup();
724 //m_rootPart.ScheduleFullUpdate();
725
726 }
705 /// <summary> 727 /// <summary>
706 /// 728 ///
707 /// </summary> 729 /// </summary>