aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs23
1 files changed, 15 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 2603fe1..565438d 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -665,7 +665,7 @@ namespace OpenSim.Region.Framework.Scenes
665 CreateSceneViewer(); 665 CreateSceneViewer();
666 m_animator = new ScenePresenceAnimator(this); 666 m_animator = new ScenePresenceAnimator(this);
667 } 667 }
668 668
669 private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) : this() 669 private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) : this()
670 { 670 {
671 m_rootRegionHandle = reginfo.RegionHandle; 671 m_rootRegionHandle = reginfo.RegionHandle;
@@ -1459,7 +1459,6 @@ namespace OpenSim.Region.Framework.Scenes
1459 } 1459 }
1460 i++; 1460 i++;
1461 } 1461 }
1462
1463 //Paupaw:Do Proper PID for Autopilot here 1462 //Paupaw:Do Proper PID for Autopilot here
1464 if (bResetMoveToPosition) 1463 if (bResetMoveToPosition)
1465 { 1464 {
@@ -2433,10 +2432,11 @@ namespace OpenSim.Region.Framework.Scenes
2433 Rotation = rotation; 2432 Rotation = rotation;
2434 Vector3 direc = vec * rotation; 2433 Vector3 direc = vec * rotation;
2435 direc.Normalize(); 2434 direc.Normalize();
2435 PhysicsActor actor = m_physicsActor;
2436 if ((vec.Z == 0f) && !actor.Flying) direc.Z = 0f; // Prevent camera WASD up.
2436 2437
2437 direc *= 0.03f * 128f * m_speedModifier; 2438 direc *= 0.03f * 128f * m_speedModifier;
2438 2439
2439 PhysicsActor actor = m_physicsActor;
2440 if (actor != null) 2440 if (actor != null)
2441 { 2441 {
2442 if (actor.Flying) 2442 if (actor.Flying)
@@ -2458,11 +2458,18 @@ namespace OpenSim.Region.Framework.Scenes
2458 { 2458 {
2459 if (direc.Z > 2.0f) 2459 if (direc.Z > 2.0f)
2460 { 2460 {
2461 direc.Z *= 3.0f; 2461 if(m_animator.m_animTickJump == -1)
2462 2462 {
2463 // TODO: PreJump and jump happen too quickly. Many times prejump gets ignored. 2463 direc.Z *= 3.0f; // jump
2464 Animator.TrySetMovementAnimation("PREJUMP"); 2464 }
2465 Animator.TrySetMovementAnimation("JUMP"); 2465 else
2466 {
2467 direc.Z *= 0.1f; // prejump
2468 }
2469 /* Animations are controlled via GetMovementAnimation() in ScenePresenceAnimator.cs
2470 Animator.TrySetMovementAnimation("PREJUMP");
2471 Animator.TrySetMovementAnimation("JUMP");
2472 */
2466 } 2473 }
2467 } 2474 }
2468 } 2475 }