* 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)
|
||||
return;
|
||||
|
||||
if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f))
|
||||
UpdateMovementAnimations();
|
||||
//if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f))
|
||||
// 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)
|
||||
return;
|
||||
|
|
|
@ -1318,6 +1318,9 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
|
||||
internal void AddCollisionFrameTime(int p)
|
||||
{
|
||||
// protect it from overflow crashing
|
||||
if (m_eventsubscription + p >= int.MaxValue)
|
||||
m_eventsubscription = 0;
|
||||
m_eventsubscription += p;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue