Change the results from llGetPrimitiveParams to be the same as SL for

the prim position. This will make attached resizer scripts work like SL.
Existing resizers may be affected adversely.
avinationmerge
Melanie 2010-10-24 17:18:21 +02:00
parent 9a78281f82
commit 5f266fd571
2 changed files with 1 additions and 8 deletions

View File

@ -1060,7 +1060,7 @@ namespace OpenSim.Region.Framework.Scenes
{ {
get { get {
if (IsAttachment) if (IsAttachment)
return GroupPosition; return GroupPosition + (m_offsetPosition * ParentGroup.RootPart.RotationOffset);
// return m_offsetPosition + m_groupPosition; } // return m_offsetPosition + m_groupPosition; }
return m_groupPosition + (m_offsetPosition * ParentGroup.RootPart.RotationOffset) ; } //KF: Rotation was ignored! return m_groupPosition + (m_offsetPosition * ParentGroup.RootPart.RotationOffset) ; } //KF: Rotation was ignored!

View File

@ -8029,13 +8029,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSL_Vector v = new LSL_Vector(part.AbsolutePosition.X, LSL_Vector v = new LSL_Vector(part.AbsolutePosition.X,
part.AbsolutePosition.Y, part.AbsolutePosition.Y,
part.AbsolutePosition.Z); part.AbsolutePosition.Z);
// For some reason, the part.AbsolutePosition.* values do not change if the
// linkset is rotated; they always reflect the child prim's world position
// as though the linkset is unrotated. This is incompatible behavior with SL's
// implementation, so will break scripts imported from there (not to mention it
// makes it more difficult to determine a child prim's actual inworld position).
if (part.ParentID != 0)
v = ((v - llGetRootPosition()) * llGetRootRotation()) + llGetRootPosition();
res.Add(v); res.Add(v);
break; break;