Merge branch 'avination'

avinationmerge
Melanie 2012-05-03 00:15:45 +02:00
commit 8b1cc0dd29
3 changed files with 19 additions and 10 deletions

View File

@ -1,4 +1,4 @@
<<<>>>>The following people have contributed to OpenSim (Thank you <<<>>>>The following people have contributed to OpenSim (Thank you
for your effort!) for your effort!)
= Current OpenSim Developers (in very rough order of appearance) = = Current OpenSim Developers (in very rough order of appearance) =

View File

@ -634,10 +634,18 @@ namespace OpenSim.Region.Framework.Scenes
ScenePresence agent = icon.EndInvoke(iar); ScenePresence agent = icon.EndInvoke(iar);
//// If the cross was successful, this agent is a child agent //// If the cross was successful, this agent is a child agent
//if (agent.IsChildAgent) if (agent.IsChildAgent)
// agent.Reset(); {
//else // Not successful if (agent.ParentUUID != UUID.Zero)
// agent.RestoreInCurrentScene(); {
agent.ParentPart = null;
agent.ParentPosition = Vector3.Zero;
}
}
// agent.Reset();
// else // Not successful
// agent.RestoreInCurrentScene();
// In any case // In any case
agent.IsInTransit = false; agent.IsInTransit = false;

View File

@ -793,10 +793,7 @@ namespace OpenSim.Region.Physics.OdePlugin
float perr; float perr;
// default to global but don't go underground // default to global but don't go underground
if (t < m_VhoverHeight) perr = m_VhoverHeight - pos.Z;
perr = m_VhoverHeight - pos.Z;
else
perr = t - pos.Z; ;
if ((m_flags & VehicleFlag.HOVER_GLOBAL_HEIGHT) == 0) if ((m_flags & VehicleFlag.HOVER_GLOBAL_HEIGHT) == 0)
{ {
@ -817,9 +814,13 @@ namespace OpenSim.Region.Physics.OdePlugin
perr += w; perr += w;
} }
} }
else if (t > m_VhoverHeight)
perr = t - pos.Z; ;
if ((m_flags & VehicleFlag.HOVER_UP_ONLY) == 0 || perr > 0) if ((m_flags & VehicleFlag.HOVER_UP_ONLY) == 0 || perr > 0)
{ {
force.Z += (perr / m_VhoverTimescale / m_VhoverTimescale - curVel.Z * m_VhoverEfficiency) / m_timestep; // force.Z += (perr / m_VhoverTimescale / m_VhoverTimescale - curVel.Z * m_VhoverEfficiency) / m_timestep;
force.Z += (perr / m_VhoverTimescale - curVel.Z * m_VhoverEfficiency);// * m_invtimestep);
force.Z += _pParentScene.gravityz * (1f - m_VehicleBuoyancy); force.Z += _pParentScene.gravityz * (1f - m_VehicleBuoyancy);
} }
else // no buoyancy else // no buoyancy