aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJohn Hurliman2009-11-09 17:13:56 -0800
committerJohn Hurliman2009-11-09 17:13:56 -0800
commit5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931 (patch)
treee86fb0ecb945b2a659cf461908143d9a23858734 /OpenSim/Region
parentFollowing various discussions on irc and in the OpenSim dev OSGrid meeting la... (diff)
downloadopensim-SC-5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931.zip
opensim-SC-5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931.tar.gz
opensim-SC-5145dfa53c2fd8ce0c9ece73ae44f36c9cc70931.tar.bz2
opensim-SC-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 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs4
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