diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 35ccad9..7eb829e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -4037,11 +4037,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4037 | 4037 | ||
4038 | protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(SendPrimitiveTerseData data) | 4038 | protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(SendPrimitiveTerseData data) |
4039 | { | 4039 | { |
4040 | return CreateImprovedTerseBlock(false, data.LocalID, data.State, Vector4.Zero, data.Position, data.Velocity, | 4040 | return CreateImprovedTerseBlock(false, data.LocalID, data.AttachPoint, Vector4.Zero, data.Position, data.Velocity, |
4041 | data.Acceleration, data.Rotation, data.AngularVelocity, data.TextureEntry); | 4041 | data.Acceleration, data.Rotation, data.AngularVelocity, data.TextureEntry); |
4042 | } | 4042 | } |
4043 | 4043 | ||
4044 | protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(bool avatar, uint localID, byte state, | 4044 | protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(bool avatar, uint localID, int attachPoint, |
4045 | Vector4 collisionPlane, Vector3 position, Vector3 velocity, Vector3 acceleration, Quaternion rotation, | 4045 | Vector4 collisionPlane, Vector3 position, Vector3 velocity, Vector3 acceleration, Quaternion rotation, |
4046 | Vector3 angularVelocity, byte[] textureEntry) | 4046 | Vector3 angularVelocity, byte[] textureEntry) |
4047 | { | 4047 | { |
@@ -4053,7 +4053,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4053 | pos += 4; | 4053 | pos += 4; |
4054 | 4054 | ||
4055 | // Avatar/CollisionPlane | 4055 | // Avatar/CollisionPlane |
4056 | data[pos++] = state; | 4056 | data[pos++] = (byte)((attachPoint % 16) * 16 + (attachPoint / 16)); ; |
4057 | if (avatar) | 4057 | if (avatar) |
4058 | { | 4058 | { |
4059 | data[pos++] = 1; | 4059 | data[pos++] = 1; |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index f47be99..73d0984 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -3758,14 +3758,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
3758 | 3758 | ||
3759 | Vector3 lPos = OffsetPosition; | 3759 | Vector3 lPos = OffsetPosition; |
3760 | 3760 | ||
3761 | byte state = Shape.State; | ||
3762 | if (IsAttachment) | 3761 | if (IsAttachment) |
3763 | { | 3762 | { |
3764 | if (ParentGroup.RootPart != this) | 3763 | if (ParentGroup.RootPart != this) |
3765 | return; | 3764 | return; |
3766 | 3765 | ||
3767 | lPos = ParentGroup.RootPart.AttachedPos; | 3766 | lPos = ParentGroup.RootPart.AttachedPos; |
3768 | state = (byte)AttachmentPoint; | ||
3769 | } | 3767 | } |
3770 | else | 3768 | else |
3771 | { | 3769 | { |
@@ -3778,7 +3776,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3778 | remoteClient.SendPrimTerseUpdate(new SendPrimitiveTerseData(m_regionHandle, | 3776 | remoteClient.SendPrimTerseUpdate(new SendPrimitiveTerseData(m_regionHandle, |
3779 | m_parentGroup.GetTimeDilation(), LocalId, lPos, | 3777 | m_parentGroup.GetTimeDilation(), LocalId, lPos, |
3780 | RotationOffset, Velocity, Acceleration, | 3778 | RotationOffset, Velocity, Acceleration, |
3781 | AngularVelocity, state, FromItemID, | 3779 | AngularVelocity, FromItemID, |
3782 | OwnerID, (int)AttachmentPoint, null, ParentGroup.GetUpdatePriority(remoteClient))); | 3780 | OwnerID, (int)AttachmentPoint, null, ParentGroup.GetUpdatePriority(remoteClient))); |
3783 | } | 3781 | } |
3784 | 3782 | ||