From 136749c651daeb017089274890c1fa3ddd7dc0eb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 9 Sep 2014 03:45:26 +0100 Subject: drop attachments with original physical proprieties --- .../Avatar/Attachments/AttachmentsModule.cs | 27 +++++----------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index ea6174a..6371a1f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -713,13 +713,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments so.UpdateGroupRotationR(absoluteRot); } -// rootPart.RemFlag(PrimFlags.TemporaryOnRez); -// rootPart.AddFlag(PrimFlags.Phantom); - -// rootPart.ApplyPhysics(rootPart.GetEffectiveObjectFlags(), rootPart.VolumeDetectActive,false); + rootPart.RemFlag(PrimFlags.TemporaryOnRez); // not physical, not temporary, phaton, not volume detector - so.UpdatePrimFlags(rootPart.LocalId,false,false,true,rootPart.VolumeDetectActive); +// so.UpdatePrimFlags(rootPart.LocalId,false,false,true,rootPart.VolumeDetectActive); + + // restore full physical state instead + so.ApplyPhysics(); so.HasGroupChanged = true; rootPart.Rezzed = DateTime.Now; @@ -918,32 +918,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments so.AttachedAvatar = sp.UUID; -// if (so.RootPart.PhysActor != null) -// so.RootPart.RemoveFromPhysics(); - foreach (SceneObjectPart part in so.Parts) { if (part.KeyframeMotion != null) - { - part.KeyframeMotion.Delete(); - part.KeyframeMotion = null; - } + part.KeyframeMotion.Suspend(); -// if (part.IsJoint() && ((part.Flags & PrimFlags.Physics) != 0)) -// { -// PhysicsScene.RequestJointDeletion(part.Name); // FIXME: what if the name changed? -// } -// else if (part.PhysActor != null) { - if(part.PhysActor.IsPhysical) - so.Scene.RemovePhysicalPrim(1); part.RemoveFromPhysics(); } } - so.RootPart.Flags &= ~PrimFlags.Physics; - so.AbsolutePosition = attachOffset; so.RootPart.AttachedPos = attachOffset; so.IsAttachment = true; -- cgit v1.1