aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-11-25 02:51:11 -0500
committerTeravus Ovares (Dan Olivares)2009-11-25 02:51:11 -0500
commitabddb60b8d0aba7b68e2494957aedfec66a772cc (patch)
tree14766a57b0ba782cbe7d3f45f7c248c24f2b3dcf
parentMake load/save iar slightly better in the face of io failures by always attem... (diff)
downloadopensim-SC-abddb60b8d0aba7b68e2494957aedfec66a772cc.zip
opensim-SC-abddb60b8d0aba7b68e2494957aedfec66a772cc.tar.gz
opensim-SC-abddb60b8d0aba7b68e2494957aedfec66a772cc.tar.bz2
opensim-SC-abddb60b8d0aba7b68e2494957aedfec66a772cc.tar.xz
* Attempt number 1 to stop the repeating crouch animation that sometimes happens.
* This tries to address it by correcting one potential bug where it never resets the falltimer. * This tries to address it by telling Physics that we're not flying this step.. instead of waiting until the next step when the next agent update comes along.
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs3
2 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index 2e4c260..da1104a 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -200,7 +200,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
200 else if (move.Z < 0f) 200 else if (move.Z < 0f)
201 { 201 {
202 if (actor != null && actor.IsColliding) 202 if (actor != null && actor.IsColliding)
203 {
204 //Console.WriteLine("LAND");
203 return "LAND"; 205 return "LAND";
206 }
204 else 207 else
205 return "HOVER_DOWN"; 208 return "HOVER_DOWN";
206 } 209 }
@@ -249,7 +252,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
249 float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f; 252 float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f;
250 253
251 if (landElapsed <= FALL_DELAY) 254 if (landElapsed <= FALL_DELAY)
255 {
256 m_animTickFall = 0;
252 return "LAND"; 257 return "LAND";
258 }
253 } 259 }
254 260
255 m_animTickFall = 0; 261 m_animTickFall = 0;
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 5604e3d..33717b1 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1445,7 +1445,10 @@ namespace OpenSim.Region.Framework.Scenes
1445 // nesting this check because LengthSquared() is expensive and we don't 1445 // nesting this check because LengthSquared() is expensive and we don't
1446 // want to do it every step when flying. 1446 // want to do it every step when flying.
1447 if ((Velocity.LengthSquared() <= LAND_VELOCITYMAG_MAX)) 1447 if ((Velocity.LengthSquared() <= LAND_VELOCITYMAG_MAX))
1448 {
1448 StopFlying(); 1449 StopFlying();
1450 m_physicsActor.Flying = false;
1451 }
1449 } 1452 }
1450 } 1453 }
1451 1454