Fixes height on Basic Physics in local teleports. Plus some small refactoring.
parent
d971b9f06b
commit
2a13e046db
|
@ -1195,7 +1195,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
agent.RestoreInCurrentScene();
|
||||
}
|
||||
agent.IsInTransit = false;
|
||||
// In any case
|
||||
agent.NotInTransit();
|
||||
|
||||
//m_log.DebugFormat("[SCENE COMM]: Crossing agent {0} {1} completed.", agent.Firstname, agent.Lastname);
|
||||
}
|
||||
|
|
|
@ -934,6 +934,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
Velocity = new Vector3(0, 0, 0);
|
||||
AbsolutePosition = pos;
|
||||
AddToPhysicalScene(isFlying);
|
||||
if (m_appearance != null)
|
||||
{
|
||||
if (m_appearance.AvatarHeight > 0)
|
||||
SetHeight(m_appearance.AvatarHeight);
|
||||
}
|
||||
|
||||
SendTerseUpdateToAllClients();
|
||||
}
|
||||
|
||||
|
@ -2437,6 +2443,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// set them to a child agent.
|
||||
/// </summary>
|
||||
protected void CrossToNewRegion()
|
||||
{
|
||||
InTransit();
|
||||
m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying);
|
||||
}
|
||||
|
||||
public void InTransit()
|
||||
{
|
||||
m_inTransit = true;
|
||||
|
||||
|
@ -2444,8 +2456,11 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_AgentControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
|
||||
else if ((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0)
|
||||
m_AgentControlFlags &= ~(uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
|
||||
}
|
||||
|
||||
m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying);
|
||||
public void NotInTransit()
|
||||
{
|
||||
m_inTransit = false;
|
||||
}
|
||||
|
||||
public void RestoreInCurrentScene()
|
||||
|
|
Loading…
Reference in New Issue