aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorKittoFlora2009-12-06 21:11:59 +0100
committerKittoFlora2009-12-06 21:11:59 +0100
commit0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0 (patch)
tree5b5a07f1a9a7e5f74c5df31352cc36d1d89592ea /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
parentSecnond revision of Sit and Stand for unscripted prims; Comment out (diff)
downloadopensim-SC_OLD-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.zip
opensim-SC_OLD-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.tar.gz
opensim-SC_OLD-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.tar.bz2
opensim-SC_OLD-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.tar.xz
Fix linked physical daughter prim position update.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-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