aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs7
1 files changed, 4 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 72443b9..304de67 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2584,7 +2584,8 @@ namespace OpenSim.Region.Framework.Scenes
2584 2584
2585 axPos *= parentRot; 2585 axPos *= parentRot;
2586 part.OffsetPosition = axPos; 2586 part.OffsetPosition = axPos;
2587 part.GroupPosition = oldGroupPosition + part.OffsetPosition; 2587 Vector3 newPos = oldGroupPosition + part.OffsetPosition;
2588 part.GroupPosition = newPos;
2588 part.OffsetPosition = Vector3.Zero; 2589 part.OffsetPosition = Vector3.Zero;
2589 part.RotationOffset = worldRot; 2590 part.RotationOffset = worldRot;
2590 2591
@@ -2595,7 +2596,7 @@ namespace OpenSim.Region.Framework.Scenes
2595 2596
2596 part.LinkNum = linkNum; 2597 part.LinkNum = linkNum;
2597 2598
2598 part.OffsetPosition = part.GroupPosition - AbsolutePosition; 2599 part.OffsetPosition = newPos - AbsolutePosition;
2599 2600
2600 Quaternion rootRotation = m_rootPart.RotationOffset; 2601 Quaternion rootRotation = m_rootPart.RotationOffset;
2601 2602
@@ -2605,7 +2606,7 @@ namespace OpenSim.Region.Framework.Scenes
2605 2606
2606 parentRot = m_rootPart.RotationOffset; 2607 parentRot = m_rootPart.RotationOffset;
2607 oldRot = part.RotationOffset; 2608 oldRot = part.RotationOffset;
2608 Quaternion newRot = Quaternion.Inverse(parentRot) * oldRot; 2609 Quaternion newRot = Quaternion.Inverse(parentRot) * worldRot;
2609 part.RotationOffset = newRot; 2610 part.RotationOffset = newRot;
2610 } 2611 }
2611 2612