diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 |
2 files changed, 15 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs index 9fd5e64..bbc5745 100644 --- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs +++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | |||
@@ -475,7 +475,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
475 | string newMovementAnimation = DetermineMovementAnimation(); | 475 | string newMovementAnimation = DetermineMovementAnimation(); |
476 | if (CurrentMovementAnimation != newMovementAnimation) | 476 | if (CurrentMovementAnimation != newMovementAnimation) |
477 | { | 477 | { |
478 | CurrentMovementAnimation = DetermineMovementAnimation(); | 478 | CurrentMovementAnimation = newMovementAnimation; |
479 | 479 | ||
480 | // m_log.DebugFormat( | 480 | // m_log.DebugFormat( |
481 | // "[SCENE PRESENCE ANIMATOR]: Determined animation {0} for {1} in UpdateMovementAnimations()", | 481 | // "[SCENE PRESENCE ANIMATOR]: Determined animation {0} for {1} in UpdateMovementAnimations()", |
@@ -489,6 +489,19 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
489 | return ret; | 489 | return ret; |
490 | } | 490 | } |
491 | 491 | ||
492 | public bool ForceUpdateMovementAnimations() | ||
493 | { | ||
494 | // m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Updating movement animations for {0}", m_scenePresence.Name); | ||
495 | |||
496 | bool ret = false; | ||
497 | lock (m_animations) | ||
498 | { | ||
499 | string newMovementAnimation = DetermineMovementAnimation(); | ||
500 | ret = TrySetMovementAnimation(newMovementAnimation); | ||
501 | } | ||
502 | return ret; | ||
503 | } | ||
504 | |||
492 | public UUID[] GetAnimationArray() | 505 | public UUID[] GetAnimationArray() |
493 | { | 506 | { |
494 | UUID[] animIDs; | 507 | UUID[] animIDs; |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index c24a4a2..5da92f9 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -6040,7 +6040,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
6040 | { | 6040 | { |
6041 | Overrides.SetOverride(animState, animID); | 6041 | Overrides.SetOverride(animState, animID); |
6042 | // Animator.SendAnimPack(); | 6042 | // Animator.SendAnimPack(); |
6043 | Animator.UpdateMovementAnimations(); | 6043 | Animator.ForceUpdateMovementAnimations(); |
6044 | } | 6044 | } |
6045 | 6045 | ||
6046 | public UUID GetAnimationOverride(string animState) | 6046 | public UUID GetAnimationOverride(string animState) |