diff options
author | Teravus Ovares (Dan Olivares) | 2009-11-25 02:51:11 -0500 |
---|---|---|
committer | Teravus Ovares (Dan Olivares) | 2009-11-25 02:51:11 -0500 |
commit | abddb60b8d0aba7b68e2494957aedfec66a772cc (patch) | |
tree | 14766a57b0ba782cbe7d3f45f7c248c24f2b3dcf | |
parent | Make load/save iar slightly better in the face of io failures by always attem... (diff) | |
download | opensim-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.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 3 |
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 | ||