aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs27
1 files changed, 14 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index ff5f731..3584cda 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -61,11 +61,12 @@ namespace OpenSim.Region.Framework.Scenes.Animation
61 public bool m_jumping = false; 61 public bool m_jumping = false;
62 public float m_jumpVelocity = 0f; 62 public float m_jumpVelocity = 0f;
63// private int m_landing = 0; 63// private int m_landing = 0;
64 public bool Falling 64
65 { 65 /// <summary>
66 get { return m_falling; } 66 /// Is the avatar falling?
67 } 67 /// </summary>
68 private bool m_falling = false; 68 public bool Falling { get; private set; }
69
69 private float m_fallHeight; 70 private float m_fallHeight;
70 71
71 /// <value> 72 /// <value>
@@ -223,7 +224,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
223 m_animTickFall = 0; 224 m_animTickFall = 0;
224 m_animTickJump = 0; 225 m_animTickJump = 0;
225 m_jumping = false; 226 m_jumping = false;
226 m_falling = false; 227 Falling = false;
227 m_jumpVelocity = 0f; 228 m_jumpVelocity = 0f;
228 actor.Selected = false; 229 actor.Selected = false;
229 m_fallHeight = actor.Position.Z; // save latest flying height 230 m_fallHeight = actor.Position.Z; // save latest flying height
@@ -259,7 +260,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
259 float fallVelocity = (actor != null) ? actor.Velocity.Z : 0.0f; 260 float fallVelocity = (actor != null) ? actor.Velocity.Z : 0.0f;
260 261
261 if (!m_jumping && (fallVelocity < -3.0f)) 262 if (!m_jumping && (fallVelocity < -3.0f))
262 m_falling = true; 263 Falling = true;
263 264
264 if (m_animTickFall == 0 || (fallVelocity >= 0.0f)) 265 if (m_animTickFall == 0 || (fallVelocity >= 0.0f))
265 { 266 {
@@ -289,7 +290,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
289 // Start jumping, prejump 290 // Start jumping, prejump
290 m_animTickFall = 0; 291 m_animTickFall = 0;
291 m_jumping = true; 292 m_jumping = true;
292 m_falling = false; 293 Falling = false;
293 actor.Selected = true; // borrowed for jumping flag 294 actor.Selected = true; // borrowed for jumping flag
294 m_animTickJump = Environment.TickCount; 295 m_animTickJump = Environment.TickCount;
295 m_jumpVelocity = 0.35f; 296 m_jumpVelocity = 0.35f;
@@ -302,7 +303,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
302 { 303 {
303 // end jumping 304 // end jumping
304 m_jumping = false; 305 m_jumping = false;
305 m_falling = false; 306 Falling = false;
306 actor.Selected = false; // borrowed for jumping flag 307 actor.Selected = false; // borrowed for jumping flag
307 m_jumpVelocity = 0f; 308 m_jumpVelocity = 0f;
308 m_animTickFall = Environment.TickCount; 309 m_animTickFall = Environment.TickCount;
@@ -329,7 +330,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
329 330
330 if (CurrentMovementAnimation == "FALLDOWN") 331 if (CurrentMovementAnimation == "FALLDOWN")
331 { 332 {
332 m_falling = false; 333 Falling = false;
333 m_animTickFall = Environment.TickCount; 334 m_animTickFall = Environment.TickCount;
334 // TODO: SOFT_LAND support 335 // TODO: SOFT_LAND support
335 float fallHeight = m_fallHeight - actor.Position.Z; 336 float fallHeight = m_fallHeight - actor.Position.Z;
@@ -363,7 +364,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
363 if (move.X != 0f || move.Y != 0f) 364 if (move.X != 0f || move.Y != 0f)
364 { 365 {
365 m_fallHeight = actor.Position.Z; // save latest flying height 366 m_fallHeight = actor.Position.Z; // save latest flying height
366 m_falling = false; 367 Falling = false;
367 // Walking / crouchwalking / running 368 // Walking / crouchwalking / running
368 if (move.Z < 0f) 369 if (move.Z < 0f)
369 return "CROUCHWALK"; 370 return "CROUCHWALK";
@@ -374,7 +375,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
374 } 375 }
375 else if (!m_jumping) 376 else if (!m_jumping)
376 { 377 {
377 m_falling = false; 378 Falling = false;
378 // Not walking 379 // Not walking
379 if (move.Z < 0) 380 if (move.Z < 0)
380 return "CROUCH"; 381 return "CROUCH";
@@ -387,7 +388,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
387 } 388 }
388 #endregion Ground Movement 389 #endregion Ground Movement
389 390
390 m_falling = false; 391 Falling = false;
391 392
392 return CurrentMovementAnimation; 393 return CurrentMovementAnimation;
393 } 394 }