*CHECK/REVIEW* comented out not used sp.ParentPosition. Comented out SOG.AbsolutePosition changing 'linked' avatars positions ( reason in code coment )
parent
e7aceae3e0
commit
8cf414ba32
|
@ -631,6 +631,14 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (triggerScriptEvent)
|
||||
part.TriggerScriptChangedEvent(Changed.POSITION);
|
||||
}
|
||||
|
||||
/*
|
||||
This seems not needed and should not be needed:
|
||||
sp absolute position depends on sit part absolute position fixed above.
|
||||
sp ParentPosition is not used anywhere.
|
||||
Since presence is sitting, viewer considers it 'linked' to root prim, so it will move/rotate it
|
||||
Sending a extra packet with avatar position is not only bandwidth waste, but may cause jitter in viewers due to UPD nature.
|
||||
|
||||
if (!m_dupeInProgress)
|
||||
{
|
||||
foreach (ScenePresence av in m_linkedAvatars)
|
||||
|
@ -640,12 +648,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
Vector3 offset = p.GetWorldPosition() - av.ParentPosition;
|
||||
av.AbsolutePosition += offset;
|
||||
av.ParentPosition = p.GetWorldPosition(); //ParentPosition gets cleared by AbsolutePosition
|
||||
// av.ParentPosition = p.GetWorldPosition(); //ParentPosition gets cleared by AbsolutePosition
|
||||
av.SendAvatarDataToAllAgents();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
//if (m_rootPart.PhysActor != null)
|
||||
//{
|
||||
//m_rootPart.PhysActor.Position =
|
||||
|
@ -676,8 +684,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (agent.ParentUUID != UUID.Zero)
|
||||
{
|
||||
agent.ParentPart = null;
|
||||
agent.ParentPosition = Vector3.Zero;
|
||||
// agent.ParentUUID = UUID.Zero;
|
||||
// agent.ParentPosition = Vector3.Zero;
|
||||
// agent.ParentUUID = UUID.Zero;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3752,7 +3760,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
else
|
||||
// ugly rotation update of all parts
|
||||
{
|
||||
group.AbsolutePosition = AbsolutePosition;
|
||||
group.ResetChildPrimPhysicsPositions();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -433,7 +433,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
get { return (IClientCore)ControllingClient; }
|
||||
}
|
||||
|
||||
public Vector3 ParentPosition { get; set; }
|
||||
// public Vector3 ParentPosition { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Position of this avatar relative to the region the avatar is in
|
||||
|
@ -491,7 +491,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (ParentID == 0)
|
||||
{
|
||||
m_pos = value;
|
||||
ParentPosition = Vector3.Zero;
|
||||
// ParentPosition = Vector3.Zero;
|
||||
}
|
||||
|
||||
//m_log.DebugFormat(
|
||||
|
@ -857,11 +857,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
part.ParentGroup.AddAvatar(UUID);
|
||||
if (part.SitTargetPosition != Vector3.Zero)
|
||||
part.SitTargetAvatar = UUID;
|
||||
ParentPosition = part.GetWorldPosition();
|
||||
// ParentPosition = part.GetWorldPosition();
|
||||
ParentID = part.LocalId;
|
||||
ParentPart = part;
|
||||
m_pos = m_prevSitOffset;
|
||||
pos = ParentPosition;
|
||||
// pos = ParentPosition;
|
||||
pos = part.GetWorldPosition();
|
||||
}
|
||||
ParentUUID = UUID.Zero;
|
||||
|
||||
|
@ -1933,11 +1934,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
part.SitTargetAvatar = UUID.Zero;
|
||||
|
||||
part.ParentGroup.DeleteAvatar(UUID);
|
||||
ParentPosition = part.GetWorldPosition();
|
||||
// ParentPosition = part.GetWorldPosition();
|
||||
ControllingClient.SendClearFollowCamProperties(part.ParentUUID);
|
||||
|
||||
m_pos += ParentPosition + new Vector3(0.0f, 0.0f, 2.0f * m_sitAvatarHeight);
|
||||
ParentPosition = Vector3.Zero;
|
||||
// m_pos += ParentPosition + new Vector3(0.0f, 0.0f, 2.0f * m_sitAvatarHeight);
|
||||
// ParentPosition = Vector3.Zero;
|
||||
m_pos += part.GetWorldPosition() + new Vector3(0.0f, 0.0f, 2.0f * m_sitAvatarHeight);
|
||||
|
||||
ParentID = 0;
|
||||
ParentPart = null;
|
||||
|
@ -2388,13 +2390,13 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
// m_pos = sitTargetPos + SIT_TARGET_ADJUSTMENT - sitOffset;
|
||||
Rotation = sitTargetOrient;
|
||||
ParentPosition = part.AbsolutePosition;
|
||||
// ParentPosition = part.AbsolutePosition;
|
||||
part.ParentGroup.AddAvatar(UUID);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pos -= part.AbsolutePosition;
|
||||
ParentPosition = part.AbsolutePosition;
|
||||
// ParentPosition = part.AbsolutePosition;
|
||||
part.ParentGroup.AddAvatar(UUID);
|
||||
|
||||
// m_log.DebugFormat(
|
||||
|
|
Loading…
Reference in New Issue