*CHECK/REVIEW* comented out not used sp.ParentPosition. Comented out SOG.AbsolutePosition changing 'linked' avatars positions ( reason in code coment )

avinationmerge
UbitUmarov 2012-06-17 11:38:40 +01:00
parent e7aceae3e0
commit 8cf414ba32
2 changed files with 24 additions and 14 deletions

View File

@ -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();
}
}

View File

@ -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(