try to remove Scenepresence dependence on sog m_linkedAvatars, sitting may still work
parent
04800a7570
commit
25677e4a1b
|
@ -5555,7 +5555,8 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
|
||||||
|
|
||||||
if (m_sittingAvatars.Add(sp))
|
if (m_sittingAvatars.Add(sp))
|
||||||
{
|
{
|
||||||
ParentGroup.m_sittingAvatars.Add(sp);
|
if(!ParentGroup.m_sittingAvatars.Contains(sp))
|
||||||
|
ParentGroup.m_sittingAvatars.Add(sp);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1138,7 +1138,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
part.ParentGroup.AddAvatar(UUID);
|
part.AddSittingAvatar(this);
|
||||||
if (part.SitTargetPosition != Vector3.Zero)
|
if (part.SitTargetPosition != Vector3.Zero)
|
||||||
part.SitTargetAvatar = UUID;
|
part.SitTargetAvatar = UUID;
|
||||||
ParentID = part.LocalId;
|
ParentID = part.LocalId;
|
||||||
|
@ -2838,7 +2838,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
part.ParentGroup.DeleteAvatar(UUID);
|
// part.ParentGroup.DeleteAvatar(UUID);
|
||||||
|
|
||||||
Quaternion standRotation = part.ParentGroup.RootPart.RotationOffset;
|
Quaternion standRotation = part.ParentGroup.RootPart.RotationOffset;
|
||||||
Vector3 sitPartWorldPosition = part.ParentGroup.AbsolutePosition + m_pos * standRotation;
|
Vector3 sitPartWorldPosition = part.ParentGroup.AbsolutePosition + m_pos * standRotation;
|
||||||
|
@ -3132,8 +3132,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Velocity = Vector3.Zero;
|
Velocity = Vector3.Zero;
|
||||||
m_AngularVelocity = Vector3.Zero;
|
m_AngularVelocity = Vector3.Zero;
|
||||||
|
|
||||||
part.AddSittingAvatar(this);
|
|
||||||
|
|
||||||
Vector3 cameraAtOffset = part.GetCameraAtOffset();
|
Vector3 cameraAtOffset = part.GetCameraAtOffset();
|
||||||
Vector3 cameraEyeOffset = part.GetCameraEyeOffset();
|
Vector3 cameraEyeOffset = part.GetCameraEyeOffset();
|
||||||
bool forceMouselook = part.GetForceMouselook();
|
bool forceMouselook = part.GetForceMouselook();
|
||||||
|
@ -3158,7 +3156,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
cameraEyeOffset = cameraEyeOffset * part.RotationOffset;
|
cameraEyeOffset = cameraEyeOffset * part.RotationOffset;
|
||||||
cameraEyeOffset += part.OffsetPosition;
|
cameraEyeOffset += part.OffsetPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pos = offset;
|
m_pos = offset;
|
||||||
|
@ -3168,19 +3165,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
|
|
||||||
m_requestedSitTargetID = 0;
|
m_requestedSitTargetID = 0;
|
||||||
part.ParentGroup.AddAvatar(UUID);
|
part.AddSittingAvatar(this);
|
||||||
|
|
||||||
ParentPart = part;
|
ParentPart = part;
|
||||||
ParentID = part.LocalId;
|
ParentID = part.LocalId;
|
||||||
|
|
||||||
SendAvatarDataToAllAgents();
|
SendAvatarDataToAllAgents();
|
||||||
|
|
||||||
/*
|
|
||||||
if(status == 3)
|
|
||||||
Animator.TrySetMovementAnimation("SIT_GROUND");
|
|
||||||
else
|
|
||||||
Animator.TrySetMovementAnimation("SIT");
|
|
||||||
*/
|
|
||||||
if (status == 3)
|
if (status == 3)
|
||||||
sitAnimation = "SIT_GROUND";
|
sitAnimation = "SIT_GROUND";
|
||||||
else
|
else
|
||||||
|
@ -3275,7 +3266,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// Name, part.AbsolutePosition, m_pos, ParentPosition, part.Name, part.LocalId);
|
// Name, part.AbsolutePosition, m_pos, ParentPosition, part.Name, part.LocalId);
|
||||||
}
|
}
|
||||||
|
|
||||||
part.ParentGroup.AddAvatar(UUID);
|
part.AddSittingAvatar(this);
|
||||||
ParentPart = m_scene.GetSceneObjectPart(m_requestedSitTargetID);
|
ParentPart = m_scene.GetSceneObjectPart(m_requestedSitTargetID);
|
||||||
ParentID = m_requestedSitTargetID;
|
ParentID = m_requestedSitTargetID;
|
||||||
m_AngularVelocity = Vector3.Zero;
|
m_AngularVelocity = Vector3.Zero;
|
||||||
|
|
Loading…
Reference in New Issue