* 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.
0.6.8-post-fixes
Teravus Ovares (Dan Olivares) 2009-11-25 02:51:11 -05:00
parent f605d59136
commit abddb60b8d
2 changed files with 9 additions and 0 deletions

View File

@ -200,7 +200,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
else if (move.Z < 0f) else if (move.Z < 0f)
{ {
if (actor != null && actor.IsColliding) if (actor != null && actor.IsColliding)
{
//Console.WriteLine("LAND");
return "LAND"; return "LAND";
}
else else
return "HOVER_DOWN"; return "HOVER_DOWN";
} }
@ -249,8 +252,11 @@ namespace OpenSim.Region.Framework.Scenes.Animation
float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f; float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f;
if (landElapsed <= FALL_DELAY) if (landElapsed <= FALL_DELAY)
{
m_animTickFall = 0;
return "LAND"; return "LAND";
} }
}
m_animTickFall = 0; m_animTickFall = 0;

View File

@ -1445,7 +1445,10 @@ namespace OpenSim.Region.Framework.Scenes
// nesting this check because LengthSquared() is expensive and we don't // nesting this check because LengthSquared() is expensive and we don't
// want to do it every step when flying. // want to do it every step when flying.
if ((Velocity.LengthSquared() <= LAND_VELOCITYMAG_MAX)) if ((Velocity.LengthSquared() <= LAND_VELOCITYMAG_MAX))
{
StopFlying(); StopFlying();
m_physicsActor.Flying = false;
}
} }
} }