set PIDHoverTau and not PIDTau since all physics need that

avinationmerge
UbitUmarov 2012-04-25 17:11:32 +01:00
parent 3da613adf5
commit 22ea2ef9a0
1 changed files with 8 additions and 6 deletions

View File

@ -2339,7 +2339,7 @@ namespace OpenSim.Region.Framework.Scenes
{ {
pa.PIDHoverHeight = height; pa.PIDHoverHeight = height;
pa.PIDHoverType = hoverType; pa.PIDHoverType = hoverType;
pa.PIDTau = tau; pa.PIDHoverTau = tau;
pa.PIDHoverActive = true; pa.PIDHoverActive = true;
} }
else else
@ -2660,19 +2660,21 @@ namespace OpenSim.Region.Framework.Scenes
Quaternion oldRootRotation = linkPart.RotationOffset; Quaternion oldRootRotation = linkPart.RotationOffset;
linkPart.OffsetPosition = linkPart.GroupPosition - AbsolutePosition; linkPart.OffsetPosition = linkPart.GroupPosition - AbsolutePosition;
linkPart.ParentID = m_rootPart.LocalId;
linkPart.GroupPosition = AbsolutePosition;
Vector3 axPos = linkPart.OffsetPosition;
linkPart.ParentID = m_rootPart.LocalId;
linkPart.GroupPosition = AbsolutePosition;
Vector3 axPos = linkPart.OffsetPosition;
Quaternion parentRot = m_rootPart.RotationOffset; Quaternion parentRot = m_rootPart.RotationOffset;
axPos *= Quaternion.Inverse(parentRot); axPos *= Quaternion.Inverse(parentRot);
linkPart.OffsetPosition = axPos; linkPart.OffsetPosition = axPos;
Quaternion oldRot = linkPart.RotationOffset; Quaternion oldRot = linkPart.RotationOffset;
Quaternion newRot = Quaternion.Inverse(parentRot) * oldRot; Quaternion newRot = Quaternion.Inverse(parentRot) * oldRot;
linkPart.RotationOffset = newRot; linkPart.RotationOffset = newRot;
linkPart.ParentID = m_rootPart.LocalId; // linkPart.ParentID = m_rootPart.LocalId; done above
if (m_rootPart.LinkNum == 0) if (m_rootPart.LinkNum == 0)
m_rootPart.LinkNum = 1; m_rootPart.LinkNum = 1;