diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 90ad34e..a0e87d0 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -261,12 +261,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
261 | } | 261 | } |
262 | protected SceneObjectPartInventory m_inventory; | 262 | protected SceneObjectPartInventory m_inventory; |
263 | 263 | ||
264 | |||
265 | public bool Undoing; | 264 | public bool Undoing; |
266 | |||
267 | 265 | ||
268 | public bool IgnoreUndoUpdate = false; | 266 | public bool IgnoreUndoUpdate = false; |
269 | |||
270 | 267 | ||
271 | private PrimFlags LocalFlags; | 268 | private PrimFlags LocalFlags; |
272 | 269 | ||
@@ -1606,7 +1603,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1606 | RotationOffset, | 1603 | RotationOffset, |
1607 | RigidBody, | 1604 | RigidBody, |
1608 | m_localId); | 1605 | m_localId); |
1609 | PhysActor.SetMaterial(Material); | ||
1610 | } | 1606 | } |
1611 | catch | 1607 | catch |
1612 | { | 1608 | { |
@@ -1618,6 +1614,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1618 | { | 1614 | { |
1619 | PhysActor.SOPName = this.Name; // save object name and desc into the PhysActor so ODE internals know the joint/body info | 1615 | PhysActor.SOPName = this.Name; // save object name and desc into the PhysActor so ODE internals know the joint/body info |
1620 | PhysActor.SOPDescription = this.Description; | 1616 | PhysActor.SOPDescription = this.Description; |
1617 | PhysActor.SetMaterial(Material); | ||
1621 | DoPhysicsPropertyUpdate(RigidBody, true); | 1618 | DoPhysicsPropertyUpdate(RigidBody, true); |
1622 | PhysActor.SetVolumeDetect(VolumeDetectActive ? 1 : 0); | 1619 | PhysActor.SetVolumeDetect(VolumeDetectActive ? 1 : 0); |
1623 | } | 1620 | } |
@@ -2970,22 +2967,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2970 | } | 2967 | } |
2971 | } | 2968 | } |
2972 | 2969 | ||
2973 | public void ScriptSetPhantomStatus(bool Phantom) | ||
2974 | { | ||
2975 | if (m_parentGroup != null) | ||
2976 | { | ||
2977 | m_parentGroup.ScriptSetPhantomStatus(Phantom); | ||
2978 | } | ||
2979 | } | ||
2980 | |||
2981 | public void ScriptSetTemporaryStatus(bool Temporary) | ||
2982 | { | ||
2983 | if (m_parentGroup != null) | ||
2984 | { | ||
2985 | m_parentGroup.ScriptSetTemporaryStatus(Temporary); | ||
2986 | } | ||
2987 | } | ||
2988 | |||
2989 | public void ScriptSetPhysicsStatus(bool UsePhysics) | 2970 | public void ScriptSetPhysicsStatus(bool UsePhysics) |
2990 | { | 2971 | { |
2991 | if (m_parentGroup == null) | 2972 | if (m_parentGroup == null) |
@@ -2994,15 +2975,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2994 | m_parentGroup.ScriptSetPhysicsStatus(UsePhysics); | 2975 | m_parentGroup.ScriptSetPhysicsStatus(UsePhysics); |
2995 | } | 2976 | } |
2996 | 2977 | ||
2997 | public void ScriptSetVolumeDetect(bool SetVD) | ||
2998 | { | ||
2999 | |||
3000 | if (m_parentGroup != null) | ||
3001 | { | ||
3002 | m_parentGroup.ScriptSetVolumeDetect(SetVD); | ||
3003 | } | ||
3004 | } | ||
3005 | |||
3006 | /// <summary> | 2978 | /// <summary> |
3007 | /// Set sculpt and mesh data, and tell the physics engine to process the change. | 2979 | /// Set sculpt and mesh data, and tell the physics engine to process the change. |
3008 | /// </summary> | 2980 | /// </summary> |
@@ -4542,6 +4514,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4542 | { | 4514 | { |
4543 | RemFlag(PrimFlags.Phantom); | 4515 | RemFlag(PrimFlags.Phantom); |
4544 | 4516 | ||
4517 | if (ParentGroup.Scene == null) | ||
4518 | return; | ||
4519 | |||
4545 | PhysicsActor pa = PhysActor; | 4520 | PhysicsActor pa = PhysActor; |
4546 | 4521 | ||
4547 | if (pa == null) | 4522 | if (pa == null) |
@@ -4555,11 +4530,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
4555 | RotationOffset, | 4530 | RotationOffset, |
4556 | UsePhysics, | 4531 | UsePhysics, |
4557 | m_localId); | 4532 | m_localId); |
4558 | PhysActor.SetMaterial(Material); | ||
4559 | 4533 | ||
4560 | pa = PhysActor; | 4534 | pa = PhysActor; |
4561 | if (pa != null) | 4535 | if (pa != null) |
4562 | { | 4536 | { |
4537 | PhysActor.SetMaterial(Material); | ||
4563 | DoPhysicsPropertyUpdate(UsePhysics, true); | 4538 | DoPhysicsPropertyUpdate(UsePhysics, true); |
4564 | 4539 | ||
4565 | if (m_parentGroup != null) | 4540 | if (m_parentGroup != null) |
@@ -4645,6 +4620,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
4645 | 4620 | ||
4646 | ParentGroup.HasGroupChanged = true; | 4621 | ParentGroup.HasGroupChanged = true; |
4647 | ScheduleFullUpdate(); | 4622 | ScheduleFullUpdate(); |
4623 | |||
4624 | // m_log.DebugFormat("[SCENE OBJECT PART]: Updated PrimFlags on {0} {1} to {2}", Name, LocalId, Flags); | ||
4648 | } | 4625 | } |
4649 | 4626 | ||
4650 | public void UpdateRotation(Quaternion rot) | 4627 | public void UpdateRotation(Quaternion rot) |
@@ -4864,7 +4841,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4864 | // m_parentGroup.Scene.EventManager.OnScriptTimerEvent -= handleTimerAccounting; | 4841 | // m_parentGroup.Scene.EventManager.OnScriptTimerEvent -= handleTimerAccounting; |
4865 | //} | 4842 | //} |
4866 | 4843 | ||
4867 | LocalFlags=(PrimFlags)objectflagupdate; | 4844 | LocalFlags = (PrimFlags)objectflagupdate; |
4868 | 4845 | ||
4869 | if (m_parentGroup != null && m_parentGroup.RootPart == this) | 4846 | if (m_parentGroup != null && m_parentGroup.RootPart == this) |
4870 | { | 4847 | { |