scenepresence change! in standup() give avatar a physical actor after deciding the new position. This reduces a bit the odds of it being still coliding with object.

avinationmerge
UbitUmarov 2012-02-11 17:48:49 +00:00
parent 022ae33ed5
commit 09f6647aa3
1 changed files with 10 additions and 0 deletions

View File

@ -1814,8 +1814,11 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.DebugFormat("[SCENE PRESENCE]: StandUp() for {0}", Name); // m_log.DebugFormat("[SCENE PRESENCE]: StandUp() for {0}", Name);
SitGround = false; SitGround = false;
/* move this down so avatar gets physical in the new position and not where it is siting
if (PhysicsActor == null) if (PhysicsActor == null)
AddToPhysicalScene(false); AddToPhysicalScene(false);
*/
if (ParentID != 0) if (ParentID != 0)
{ {
@ -1850,6 +1853,10 @@ namespace OpenSim.Region.Framework.Scenes
ParentPosition = Vector3.Zero; ParentPosition = Vector3.Zero;
ParentID = 0; ParentID = 0;
if (PhysicsActor == null)
AddToPhysicalScene(false);
SendAvatarDataToAllAgents(); SendAvatarDataToAllAgents();
m_requestedSitTargetID = 0; m_requestedSitTargetID = 0;
@ -1857,6 +1864,9 @@ namespace OpenSim.Region.Framework.Scenes
part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK);
} }
else if (PhysicsActor == null)
AddToPhysicalScene(false);
Animator.TrySetMovementAnimation("STAND"); Animator.TrySetMovementAnimation("STAND");
} }