diff options
author | John Hurliman | 2009-11-09 17:13:56 -0800 |
---|---|---|
committer | John Hurliman | 2009-11-09 17:13:56 -0800 |
commit | 5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931 (patch) | |
tree | e86fb0ecb945b2a659cf461908143d9a23858734 | |
parent | Following various discussions on irc and in the OpenSim dev OSGrid meeting la... (diff) | |
download | opensim-SC_OLD-5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931.zip opensim-SC_OLD-5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931.tar.gz opensim-SC_OLD-5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931.tar.bz2 opensim-SC_OLD-5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931.tar.xz |
* Removing the redundant SendPrimitiveTerseData.State field, it duplicates AttachPoint
* LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/IClientAPI.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 4 |
3 files changed, 5 insertions, 9 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index ee7ab87..04ba9c6 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -592,7 +592,6 @@ namespace OpenSim.Framework | |||
592 | public readonly Vector3 Velocity; | 592 | public readonly Vector3 Velocity; |
593 | public readonly Vector3 Acceleration; | 593 | public readonly Vector3 Acceleration; |
594 | public readonly Vector3 AngularVelocity; | 594 | public readonly Vector3 AngularVelocity; |
595 | public readonly byte State; | ||
596 | public readonly UUID AssetID; | 595 | public readonly UUID AssetID; |
597 | public readonly UUID OwnerID; | 596 | public readonly UUID OwnerID; |
598 | public readonly int AttachPoint; | 597 | public readonly int AttachPoint; |
@@ -600,7 +599,7 @@ namespace OpenSim.Framework | |||
600 | public readonly double Priority; | 599 | public readonly double Priority; |
601 | 600 | ||
602 | public SendPrimitiveTerseData(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, | 601 | public SendPrimitiveTerseData(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, |
603 | Quaternion rotation, Vector3 velocity, Vector3 acceleration, Vector3 rotationalvelocity, byte state, | 602 | Quaternion rotation, Vector3 velocity, Vector3 acceleration, Vector3 rotationalvelocity, |
604 | UUID assetID, UUID ownerID, int attachPoint, byte[] textureEntry, double priority) | 603 | UUID assetID, UUID ownerID, int attachPoint, byte[] textureEntry, double priority) |
605 | { | 604 | { |
606 | RegionHandle = regionHandle; | 605 | RegionHandle = regionHandle; |
@@ -611,7 +610,6 @@ namespace OpenSim.Framework | |||
611 | Velocity = velocity; | 610 | Velocity = velocity; |
612 | Acceleration = acceleration; | 611 | Acceleration = acceleration; |
613 | AngularVelocity = rotationalvelocity; | 612 | AngularVelocity = rotationalvelocity; |
614 | State = state; | ||
615 | AssetID = assetID; | 613 | AssetID = assetID; |
616 | OwnerID = ownerID; | 614 | OwnerID = ownerID; |
617 | AttachPoint = attachPoint; | 615 | AttachPoint = attachPoint; |
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 | ||