aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-01-18 22:57:09 +0000
committerJustin Clark-Casey (justincc)2013-01-18 22:57:09 +0000
commit74256c0cc47870f6057b64ce117479af79f02ab0 (patch)
tree9bdc9e66f6e668a06a22ee3a2f772855293e4b5a /OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
parentBulletSim: reduce jitter in avatar velocity when walking or flying. (diff)
downloadopensim-SC_OLD-74256c0cc47870f6057b64ce117479af79f02ab0.zip
opensim-SC_OLD-74256c0cc47870f6057b64ce117479af79f02ab0.tar.gz
opensim-SC_OLD-74256c0cc47870f6057b64ce117479af79f02ab0.tar.bz2
opensim-SC_OLD-74256c0cc47870f6057b64ce117479af79f02ab0.tar.xz
Restore previous client AO behaviour by not allowing them to remove the default animation but continue to allow scripts to do so.
This keeps the fix from http://opensimulator.org/mantis/view.php?id=6327 and fixes the behaviour regression in http://opensimulator.org/mantis/view.php?id=6483 Animations may still exhibit different behaviour if both scripts and clients are adjusting animations. A change in the behaviour of client AO to not remove all animations may be a better long term approach.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs14
1 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index 5b16b67..3657dc4 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -109,14 +109,22 @@ namespace OpenSim.Region.Framework.Scenes.Animation
109 AddAnimation(animID, objectID); 109 AddAnimation(animID, objectID);
110 } 110 }
111 111
112 public void RemoveAnimation(UUID animID) 112 /// <summary>
113 /// Remove the specified animation
114 /// </summary>
115 /// <param name='animID'></param>
116 /// <param name='allowNoDefault'>
117 /// If true, then the default animation can be entirely removed.
118 /// If false, then removing the default animation will reset it to the simulator default (currently STAND).
119 /// </param>
120 public void RemoveAnimation(UUID animID, bool allowNoDefault)
113 { 121 {
114 if (m_scenePresence.IsChildAgent) 122 if (m_scenePresence.IsChildAgent)
115 return; 123 return;
116 124
117// m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Removing animation {0} for {1}", animID, m_scenePresence.Name); 125// m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Removing animation {0} for {1}", animID, m_scenePresence.Name);
118 126
119 if (m_animations.Remove(animID)) 127 if (m_animations.Remove(animID, allowNoDefault))
120 SendAnimPack(); 128 SendAnimPack();
121 } 129 }
122 130
@@ -132,7 +140,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
132 if (animID == UUID.Zero) 140 if (animID == UUID.Zero)
133 return; 141 return;
134 142
135 RemoveAnimation(animID); 143 RemoveAnimation(animID, true);
136 } 144 }
137 145
138 public void ResetAnimations() 146 public void ResetAnimations()