diff options
author | Teravus Ovares | 2008-04-27 20:10:28 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-04-27 20:10:28 +0000 |
commit | 911e63765c7cea748b5ae2227f5c1d6ff131d329 (patch) | |
tree | f95eeffb4974a9b3f6ded4a46bdc240278a336b0 /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |
parent | Minor svn, formatting cleanup. (diff) | |
download | opensim-SC_OLD-911e63765c7cea748b5ae2227f5c1d6ff131d329.zip opensim-SC_OLD-911e63765c7cea748b5ae2227f5c1d6ff131d329.tar.gz opensim-SC_OLD-911e63765c7cea748b5ae2227f5c1d6ff131d329.tar.bz2 opensim-SC_OLD-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.cs | 26 |
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> |