* 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.
This commit is contained in:
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)
{
if (actor != null && actor.IsColliding)
{
//Console.WriteLine("LAND");
return "LAND";
}
else
return "HOVER_DOWN";
}
@@ -249,7 +252,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f;
if (landElapsed <= FALL_DELAY)
{
m_animTickFall = 0;
return "LAND";
}
}
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
// want to do it every step when flying.
if ((Velocity.LengthSquared() <= LAND_VELOCITYMAG_MAX))
{
StopFlying();
m_physicsActor.Flying = false;
}
}
}