mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 19:36:07 +08:00
Fixes height on Basic Physics in local teleports. Plus some small refactoring.
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user