diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 7 |
2 files changed, 1 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 0321515..5521326 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1060,7 +1060,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1060 | { | 1060 | { |
1061 | get { | 1061 | get { |
1062 | if (IsAttachment) | 1062 | if (IsAttachment) |
1063 | return GroupPosition; | 1063 | return GroupPosition + (m_offsetPosition * ParentGroup.RootPart.RotationOffset); |
1064 | 1064 | ||
1065 | // return m_offsetPosition + m_groupPosition; } | 1065 | // return m_offsetPosition + m_groupPosition; } |
1066 | return m_groupPosition + (m_offsetPosition * ParentGroup.RootPart.RotationOffset) ; } //KF: Rotation was ignored! | 1066 | return m_groupPosition + (m_offsetPosition * ParentGroup.RootPart.RotationOffset) ; } //KF: Rotation was ignored! |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 36ca542..db124f7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -8029,13 +8029,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8029 | LSL_Vector v = new LSL_Vector(part.AbsolutePosition.X, | 8029 | LSL_Vector v = new LSL_Vector(part.AbsolutePosition.X, |
8030 | part.AbsolutePosition.Y, | 8030 | part.AbsolutePosition.Y, |
8031 | part.AbsolutePosition.Z); | 8031 | part.AbsolutePosition.Z); |
8032 | // For some reason, the part.AbsolutePosition.* values do not change if the | ||
8033 | // linkset is rotated; they always reflect the child prim's world position | ||
8034 | // as though the linkset is unrotated. This is incompatible behavior with SL's | ||
8035 | // implementation, so will break scripts imported from there (not to mention it | ||
8036 | // makes it more difficult to determine a child prim's actual inworld position). | ||
8037 | if (part.ParentID != 0) | ||
8038 | v = ((v - llGetRootPosition()) * llGetRootRotation()) + llGetRootPosition(); | ||
8039 | res.Add(v); | 8032 | res.Add(v); |
8040 | break; | 8033 | break; |
8041 | 8034 | ||