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