aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
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
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')
-rw-r--r--OpenSim/Framework/IClientAPI.cs4
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs4
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