* comment out the velocity test, using updates every 500 ms as set in ScenePresence.AddToPhysicalScene.
* This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms. * This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.prioritization
parent
3f0dc88c46
commit
8271528b1f
|
@ -3420,8 +3420,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (e == null)
|
if (e == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f))
|
//if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f))
|
||||||
UpdateMovementAnimations();
|
// The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents(
|
||||||
|
// as of this comment the interval is set in AddToPhysicalScene
|
||||||
|
UpdateMovementAnimations();
|
||||||
|
|
||||||
if (m_invulnerable)
|
if (m_invulnerable)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1318,6 +1318,9 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
internal void AddCollisionFrameTime(int p)
|
internal void AddCollisionFrameTime(int p)
|
||||||
{
|
{
|
||||||
|
// protect it from overflow crashing
|
||||||
|
if (m_eventsubscription + p >= int.MaxValue)
|
||||||
|
m_eventsubscription = 0;
|
||||||
m_eventsubscription += p;
|
m_eventsubscription += p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue