aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs26
1 files changed, 12 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index cac936c..2a6b8ea 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -54,11 +54,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
54 /// <value> 54 /// <value>
55 /// The current movement animation 55 /// The current movement animation
56 /// </value> 56 /// </value>
57 public string CurrentMovementAnimation 57 public string CurrentMovementAnimation { get; private set; }
58 {
59 get { return m_movementAnimation; }
60 }
61 protected string m_movementAnimation = "CROUCH";
62 58
63 private int m_animTickFall; 59 private int m_animTickFall;
64 public int m_animTickJump; // ScenePresence has to see this to control +Z force 60 public int m_animTickJump; // ScenePresence has to see this to control +Z force
@@ -80,6 +76,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
80 public ScenePresenceAnimator(ScenePresence sp) 76 public ScenePresenceAnimator(ScenePresence sp)
81 { 77 {
82 m_scenePresence = sp; 78 m_scenePresence = sp;
79 CurrentMovementAnimation = "CROUCH";
83 } 80 }
84 81
85 public void AddAnimation(UUID animID, UUID objectID) 82 public void AddAnimation(UUID animID, UUID objectID)
@@ -174,7 +171,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
174 /// <summary> 171 /// <summary>
175 /// This method determines the proper movement related animation 172 /// This method determines the proper movement related animation
176 /// </summary> 173 /// </summary>
177 public string DetermineMovementAnimation() 174 private string DetermineMovementAnimation()
178 { 175 {
179 const float FALL_DELAY = 800f; 176 const float FALL_DELAY = 800f;
180 const float PREJUMP_DELAY = 200f; 177 const float PREJUMP_DELAY = 200f;
@@ -277,7 +274,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
277 return "FALLDOWN"; 274 return "FALLDOWN";
278 } 275 }
279 276
280 return m_movementAnimation; 277 return CurrentMovementAnimation;
281 } 278 }
282 279
283 #endregion Falling/Floating/Landing 280 #endregion Falling/Floating/Landing
@@ -331,7 +328,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
331 328
332 #region Ground Movement 329 #region Ground Movement
333 330
334 if (m_movementAnimation == "FALLDOWN") 331 if (CurrentMovementAnimation == "FALLDOWN")
335 { 332 {
336 m_falling = false; 333 m_falling = false;
337 m_animTickFall = Environment.TickCount; 334 m_animTickFall = Environment.TickCount;
@@ -344,16 +341,17 @@ namespace OpenSim.Region.Framework.Scenes.Animation
344 else 341 else
345 return "LAND"; 342 return "LAND";
346 } 343 }
347 else if ((m_movementAnimation == "LAND") || (m_movementAnimation == "SOFT_LAND") || (m_movementAnimation == "STANDUP")) 344 else if ((CurrentMovementAnimation == "LAND") || (CurrentMovementAnimation == "SOFT_LAND") || (CurrentMovementAnimation == "STANDUP"))
348 { 345 {
349 int landElapsed = Environment.TickCount - m_animTickFall; 346 int landElapsed = Environment.TickCount - m_animTickFall;
350 int limit = 1000; 347 int limit = 1000;
351 if(m_movementAnimation == "LAND") limit = 350; 348 if (CurrentMovementAnimation == "LAND")
349 limit = 350;
352 // NB if the above is set too long a weird anim reset from some place prevents STAND from being sent to client 350 // NB if the above is set too long a weird anim reset from some place prevents STAND from being sent to client
353 351
354 if ((m_animTickFall != 0) && (landElapsed <= limit)) 352 if ((m_animTickFall != 0) && (landElapsed <= limit))
355 { 353 {
356 return m_movementAnimation; 354 return CurrentMovementAnimation;
357 } 355 }
358 else 356 else
359 { 357 {
@@ -392,7 +390,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
392 390
393 m_falling = false; 391 m_falling = false;
394 392
395 return m_movementAnimation; 393 return CurrentMovementAnimation;
396 } 394 }
397 395
398 /// <summary> 396 /// <summary>
@@ -400,8 +398,8 @@ namespace OpenSim.Region.Framework.Scenes.Animation
400 /// </summary> 398 /// </summary>
401 public void UpdateMovementAnimations() 399 public void UpdateMovementAnimations()
402 { 400 {
403 m_movementAnimation = DetermineMovementAnimation(); 401 CurrentMovementAnimation = DetermineMovementAnimation();
404 TrySetMovementAnimation(m_movementAnimation); 402 TrySetMovementAnimation(CurrentMovementAnimation);
405 } 403 }
406 404
407 public UUID[] GetAnimationArray() 405 public UUID[] GetAnimationArray()