aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs17
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