Fixing a bug introduced yesterday. This put the precondition test inside CheckForBorderCrossing the right way.
parent
bb0c6a498b
commit
219ec7ef20
|
@ -2736,19 +2736,22 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected void CheckForBorderCrossing()
|
protected void CheckForBorderCrossing()
|
||||||
{
|
{
|
||||||
// Check that we we are not a child and have a physics actor or we're sitting on something
|
// Check that we we are not a child
|
||||||
if (IsChildAgent || (ParentID == 0 && PhysicsActor != null || ParentID != 0))
|
if (IsChildAgent)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// We only do this if we have a physics actor or we're sitting on something
|
||||||
|
if (ParentID == 0 && PhysicsActor != null || ParentID != 0)
|
||||||
|
{
|
||||||
Vector3 pos2 = AbsolutePosition;
|
Vector3 pos2 = AbsolutePosition;
|
||||||
Vector3 vel = Velocity;
|
Vector3 vel = Velocity;
|
||||||
int neighbor = 0;
|
int neighbor = 0;
|
||||||
int[] fix = new int[2];
|
int[] fix = new int[2];
|
||||||
|
|
||||||
float timeStep = 0.1f;
|
float timeStep = 0.1f;
|
||||||
pos2.X = pos2.X + (vel.X*timeStep);
|
pos2.X = pos2.X + (vel.X * timeStep);
|
||||||
pos2.Y = pos2.Y + (vel.Y*timeStep);
|
pos2.Y = pos2.Y + (vel.Y * timeStep);
|
||||||
pos2.Z = pos2.Z + (vel.Z*timeStep);
|
pos2.Z = pos2.Z + (vel.Z * timeStep);
|
||||||
|
|
||||||
if (!IsInTransit)
|
if (!IsInTransit)
|
||||||
{
|
{
|
||||||
|
@ -2865,7 +2868,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
pos2.Y = pos2.Y + (vel.Y * timeStep);
|
pos2.Y = pos2.Y + (vel.Y * timeStep);
|
||||||
// Don't touch the Z
|
// Don't touch the Z
|
||||||
m_pos = pos2;
|
m_pos = pos2;
|
||||||
m_log.ErrorFormat("m_pos={0}", m_pos);
|
m_log.DebugFormat("[SCENE PRESENCE]: In transit m_pos={0}", m_pos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue