missing changes about friends on crossings, and missing angular velocity clear on sits

LSLKeyTest
UbitUmarov 2016-07-27 01:57:20 +01:00
parent 800044cead
commit d6e16c5130
1 changed files with 14 additions and 4 deletions

View File

@ -2189,8 +2189,12 @@ namespace OpenSim.Region.Framework.Scenes
{ {
IFriendsModule friendsModule = m_scene.RequestModuleInterface<IFriendsModule>(); IFriendsModule friendsModule = m_scene.RequestModuleInterface<IFriendsModule>();
if (friendsModule != null) if (friendsModule != null)
friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); {
if(gotCrossUpdate)
friendsModule.IsNpwRoot(this);
else
friendsModule.SendFriendsOnlineIfNeeded(ControllingClient);
}
m_log.DebugFormat("[CompleteMovement] friendsModule: {0}ms", Util.EnvironmentTickCountSubtract(ts)); m_log.DebugFormat("[CompleteMovement] friendsModule: {0}ms", Util.EnvironmentTickCountSubtract(ts));
} }
@ -3163,6 +3167,7 @@ namespace OpenSim.Region.Framework.Scenes
ResetMoveToTarget(); ResetMoveToTarget();
Velocity = Vector3.Zero; Velocity = Vector3.Zero;
m_AngularVelocity = Vector3.Zero;
part.AddSittingAvatar(this); part.AddSittingAvatar(this);
@ -3488,9 +3493,10 @@ namespace OpenSim.Region.Framework.Scenes
part.AddSittingAvatar(this); part.AddSittingAvatar(this);
ParentPart = part; ParentPart = part;
ParentID = m_requestedSitTargetID; ParentID = m_requestedSitTargetID;
RemoveFromPhysicalScene();
m_AngularVelocity = Vector3.Zero; m_AngularVelocity = Vector3.Zero;
Velocity = Vector3.Zero; Velocity = Vector3.Zero;
RemoveFromPhysicalScene();
m_requestedSitTargetID = 0; m_requestedSitTargetID = 0;
@ -3513,13 +3519,15 @@ namespace OpenSim.Region.Framework.Scenes
return; return;
// m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick.. // m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick..
m_AngularVelocity = Vector3.Zero;
sitAnimation = "SIT_GROUND_CONSTRAINED"; sitAnimation = "SIT_GROUND_CONSTRAINED";
// Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); // Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
// TriggerScenePresenceUpdated(); // TriggerScenePresenceUpdated();
SitGround = true; SitGround = true;
RemoveFromPhysicalScene(); RemoveFromPhysicalScene();
m_AngularVelocity = Vector3.Zero;
Velocity = Vector3.Zero;
Animator.SetMovementAnimations("SITGROUND"); Animator.SetMovementAnimations("SITGROUND");
TriggerScenePresenceUpdated(); TriggerScenePresenceUpdated();
} }
@ -4236,6 +4244,8 @@ namespace OpenSim.Region.Framework.Scenes
pos.Y -= Velocity.Y * 2; pos.Y -= Velocity.Y * 2;
Velocity = Vector3.Zero; Velocity = Vector3.Zero;
m_AngularVelocity = Vector3.Zero;
AbsolutePosition = pos; AbsolutePosition = pos;
AddToPhysicalScene(isFlying); AddToPhysicalScene(isFlying);