* 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)0.6.8-post-fixes
parent
a88a463b50
commit
5145dfa53c
|
@ -592,7 +592,6 @@ namespace OpenSim.Framework
|
|||
public readonly Vector3 Velocity;
|
||||
public readonly Vector3 Acceleration;
|
||||
public readonly Vector3 AngularVelocity;
|
||||
public readonly byte State;
|
||||
public readonly UUID AssetID;
|
||||
public readonly UUID OwnerID;
|
||||
public readonly int AttachPoint;
|
||||
|
@ -600,7 +599,7 @@ namespace OpenSim.Framework
|
|||
public readonly double Priority;
|
||||
|
||||
public SendPrimitiveTerseData(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position,
|
||||
Quaternion rotation, Vector3 velocity, Vector3 acceleration, Vector3 rotationalvelocity, byte state,
|
||||
Quaternion rotation, Vector3 velocity, Vector3 acceleration, Vector3 rotationalvelocity,
|
||||
UUID assetID, UUID ownerID, int attachPoint, byte[] textureEntry, double priority)
|
||||
{
|
||||
RegionHandle = regionHandle;
|
||||
|
@ -611,7 +610,6 @@ namespace OpenSim.Framework
|
|||
Velocity = velocity;
|
||||
Acceleration = acceleration;
|
||||
AngularVelocity = rotationalvelocity;
|
||||
State = state;
|
||||
AssetID = assetID;
|
||||
OwnerID = ownerID;
|
||||
AttachPoint = attachPoint;
|
||||
|
|
|
@ -4037,11 +4037,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
|
||||
protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(SendPrimitiveTerseData data)
|
||||
{
|
||||
return CreateImprovedTerseBlock(false, data.LocalID, data.State, Vector4.Zero, data.Position, data.Velocity,
|
||||
return CreateImprovedTerseBlock(false, data.LocalID, data.AttachPoint, Vector4.Zero, data.Position, data.Velocity,
|
||||
data.Acceleration, data.Rotation, data.AngularVelocity, data.TextureEntry);
|
||||
}
|
||||
|
||||
protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(bool avatar, uint localID, byte state,
|
||||
protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(bool avatar, uint localID, int attachPoint,
|
||||
Vector4 collisionPlane, Vector3 position, Vector3 velocity, Vector3 acceleration, Quaternion rotation,
|
||||
Vector3 angularVelocity, byte[] textureEntry)
|
||||
{
|
||||
|
@ -4053,7 +4053,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
pos += 4;
|
||||
|
||||
// Avatar/CollisionPlane
|
||||
data[pos++] = state;
|
||||
data[pos++] = (byte)((attachPoint % 16) * 16 + (attachPoint / 16)); ;
|
||||
if (avatar)
|
||||
{
|
||||
data[pos++] = 1;
|
||||
|
|
|
@ -3758,14 +3758,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
Vector3 lPos = OffsetPosition;
|
||||
|
||||
byte state = Shape.State;
|
||||
if (IsAttachment)
|
||||
{
|
||||
if (ParentGroup.RootPart != this)
|
||||
return;
|
||||
|
||||
lPos = ParentGroup.RootPart.AttachedPos;
|
||||
state = (byte)AttachmentPoint;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3778,7 +3776,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
remoteClient.SendPrimTerseUpdate(new SendPrimitiveTerseData(m_regionHandle,
|
||||
m_parentGroup.GetTimeDilation(), LocalId, lPos,
|
||||
RotationOffset, Velocity, Acceleration,
|
||||
AngularVelocity, state, FromItemID,
|
||||
AngularVelocity, FromItemID,
|
||||
OwnerID, (int)AttachmentPoint, null, ParentGroup.GetUpdatePriority(remoteClient)));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue