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
parent
9a78281f82
commit
5f266fd571
|
@ -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!
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue