mirror of
https://github.com/opensim/opensim.git
synced 2026-07-31 05:45:37 +08:00
* 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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user