diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 9f2c3db..a6382ee 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -513,9 +513,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
513 | { | 513 | { |
514 | // If this is a linkset, we don't want the physics engine mucking up our group position here. | 514 | // If this is a linkset, we don't want the physics engine mucking up our group position here. |
515 | PhysicsActor actor = PhysActor; | 515 | PhysicsActor actor = PhysActor; |
516 | if (actor != null && _parentID == 0) | 516 | if (actor != null) |
517 | { | 517 | { |
518 | m_groupPosition = actor.Position; | 518 | if (_parentID == 0) |
519 | { | ||
520 | m_groupPosition = actor.Position; | ||
521 | } | ||
522 | else | ||
523 | { | ||
524 | m_groupPosition = ParentGroup.AbsolutePosition; // KF+Casper Update Child prims too! | ||
525 | } | ||
519 | } | 526 | } |
520 | 527 | ||
521 | if (IsAttachment) | 528 | if (IsAttachment) |
@@ -1743,9 +1750,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
1743 | Quaternion parentRot = ParentGroup.RootPart.RotationOffset; | 1750 | Quaternion parentRot = ParentGroup.RootPart.RotationOffset; |
1744 | 1751 | ||
1745 | Vector3 axPos = OffsetPosition; | 1752 | Vector3 axPos = OffsetPosition; |
1746 | |||
1747 | axPos *= parentRot; | 1753 | axPos *= parentRot; |
1748 | Vector3 translationOffsetPosition = axPos; | 1754 | Vector3 translationOffsetPosition = axPos; |
1755 | |||
1756 | int tx = (int)GroupPosition.X; | ||
1757 | int ty = (int)GroupPosition.Y; | ||
1758 | int tz = (int)GroupPosition.Z; | ||
1759 | |||
1749 | return GroupPosition + translationOffsetPosition; | 1760 | return GroupPosition + translationOffsetPosition; |
1750 | } | 1761 | } |
1751 | 1762 | ||