aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
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 /OpenSim/Region
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.
Diffstat (limited to 'OpenSim/Region')
-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