diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 |
2 files changed, 14 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs index 4ab818f..e07d8b4 100644 --- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs +++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | |||
@@ -77,6 +77,8 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
77 | if (m_scenePresence.IsChildAgent) | 77 | if (m_scenePresence.IsChildAgent) |
78 | return; | 78 | return; |
79 | 79 | ||
80 | // m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name); | ||
81 | |||
80 | if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID)) | 82 | if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID)) |
81 | SendAnimPack(); | 83 | SendAnimPack(); |
82 | } | 84 | } |
@@ -91,6 +93,8 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
91 | if (animID == UUID.Zero) | 93 | if (animID == UUID.Zero) |
92 | return; | 94 | return; |
93 | 95 | ||
96 | // m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} {1} for {2}", animID, name, m_scenePresence.Name); | ||
97 | |||
94 | AddAnimation(animID, objectID); | 98 | AddAnimation(animID, objectID); |
95 | } | 99 | } |
96 | 100 | ||
@@ -127,13 +131,15 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
127 | /// </summary> | 131 | /// </summary> |
128 | public void TrySetMovementAnimation(string anim) | 132 | public void TrySetMovementAnimation(string anim) |
129 | { | 133 | { |
130 | //m_log.DebugFormat("Updating movement animation to {0}", anim); | ||
131 | |||
132 | if (!m_scenePresence.IsChildAgent) | 134 | if (!m_scenePresence.IsChildAgent) |
133 | { | 135 | { |
134 | if (m_animations.TrySetDefaultAnimation( | 136 | if (m_animations.TrySetDefaultAnimation( |
135 | anim, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID)) | 137 | anim, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID)) |
136 | { | 138 | { |
139 | // m_log.DebugFormat( | ||
140 | // "[SCENE PRESENCE ANIMATOR]: Updating movement animation to {0} for {1}", | ||
141 | // anim, m_scenePresence.Name); | ||
142 | |||
137 | // 16384 is CHANGED_ANIMATION | 143 | // 16384 is CHANGED_ANIMATION |
138 | m_scenePresence.SendScriptEventToAttachments("changed", new Object[] { (int)Changed.ANIMATION}); | 144 | m_scenePresence.SendScriptEventToAttachments("changed", new Object[] { (int)Changed.ANIMATION}); |
139 | SendAnimPack(); | 145 | SendAnimPack(); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 12a4712..7a30684 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1745,6 +1745,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1745 | 1745 | ||
1746 | MovingToTarget = false; | 1746 | MovingToTarget = false; |
1747 | MoveToPositionTarget = Vector3.Zero; | 1747 | MoveToPositionTarget = Vector3.Zero; |
1748 | |||
1749 | // We need to reset the control flag as the ScenePresenceAnimator uses this to determine the correct | ||
1750 | // resting animation (e.g. hover or stand). NPCs don't have a client that will quickly reset this flag. | ||
1751 | // However, the line is here rather than in the NPC module since it also appears necessary to stop a | ||
1752 | // viewer that uses "go here" from juddering on all subsequent avatar movements. | ||
1753 | AgentControlFlags = (uint)AgentManager.ControlFlags.NONE; | ||
1748 | } | 1754 | } |
1749 | 1755 | ||
1750 | private void CheckAtSitTarget() | 1756 | private void CheckAtSitTarget() |