aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs7
2 files changed, 14 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index fdadd32..3cb8f59 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -196,7 +196,13 @@ namespace OpenSim.Region.Framework.Scenes.Animation
196// "[SCENE PRESENCE ANIMATOR]: Setting movement animation {0} for {1}", 196// "[SCENE PRESENCE ANIMATOR]: Setting movement animation {0} for {1}",
197// anim, m_scenePresence.Name); 197// anim, m_scenePresence.Name);
198 198
199 if (m_animations.TrySetDefaultAnimation( 199 UUID overridenAnim = m_scenePresence.Overrides.GetOverriddenAnimation(anim);
200 if (overridenAnim != UUID.Zero)
201 {
202 m_animations.SetDefaultAnimation(overridenAnim, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID);
203 ret = true;
204 }
205 else if (m_animations.TrySetDefaultAnimation(
200 anim, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID)) 206 anim, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID))
201 { 207 {
202// m_log.DebugFormat( 208// m_log.DebugFormat(
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 4d5f747..8f6b41b 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -239,6 +239,11 @@ namespace OpenSim.Region.Framework.Scenes
239 /// </value> 239 /// </value>
240 public ScenePresenceAnimator Animator { get; private set; } 240 public ScenePresenceAnimator Animator { get; private set; }
241 241
242 /// <value>
243 /// Server Side Animation Override
244 /// </value>
245 public MovementAnimationOverrides Overrides { get; private set; }
246
242 /// <summary> 247 /// <summary>
243 /// Attachments recorded on this avatar. 248 /// Attachments recorded on this avatar.
244 /// </summary> 249 /// </summary>
@@ -967,6 +972,7 @@ namespace OpenSim.Region.Framework.Scenes
967 IsLoggingIn = false; 972 IsLoggingIn = false;
968 m_sendCoarseLocationsMethod = SendCoarseLocationsDefault; 973 m_sendCoarseLocationsMethod = SendCoarseLocationsDefault;
969 Animator = new ScenePresenceAnimator(this); 974 Animator = new ScenePresenceAnimator(this);
975 Overrides = new MovementAnimationOverrides();
970 PresenceType = type; 976 PresenceType = type;
971 DrawDistance = world.DefaultDrawDistance; 977 DrawDistance = world.DefaultDrawDistance;
972 RegionHandle = world.RegionInfo.RegionHandle; 978 RegionHandle = world.RegionInfo.RegionHandle;
@@ -6007,6 +6013,7 @@ namespace OpenSim.Region.Framework.Scenes
6007 6013
6008 public void SetAnimationOverride(string animState, UUID animID) 6014 public void SetAnimationOverride(string animState, UUID animID)
6009 { 6015 {
6016 Overrides.SetOverride(animState, animID);
6010 } 6017 }
6011 } 6018 }
6012} 6019}