aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index df6c97a..fc883db 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -934,6 +934,12 @@ namespace OpenSim.Region.Framework.Scenes
934 Velocity = new Vector3(0, 0, 0); 934 Velocity = new Vector3(0, 0, 0);
935 AbsolutePosition = pos; 935 AbsolutePosition = pos;
936 AddToPhysicalScene(isFlying); 936 AddToPhysicalScene(isFlying);
937 if (m_appearance != null)
938 {
939 if (m_appearance.AvatarHeight > 0)
940 SetHeight(m_appearance.AvatarHeight);
941 }
942
937 SendTerseUpdateToAllClients(); 943 SendTerseUpdateToAllClients();
938 } 944 }
939 945
@@ -2438,14 +2444,23 @@ namespace OpenSim.Region.Framework.Scenes
2438 /// </summary> 2444 /// </summary>
2439 protected void CrossToNewRegion() 2445 protected void CrossToNewRegion()
2440 { 2446 {
2447 InTransit();
2448 m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying);
2449 }
2450
2451 public void InTransit()
2452 {
2441 m_inTransit = true; 2453 m_inTransit = true;
2442 2454
2443 if ((m_physicsActor != null) && m_physicsActor.Flying) 2455 if ((m_physicsActor != null) && m_physicsActor.Flying)
2444 m_AgentControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY; 2456 m_AgentControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
2445 else if ((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0) 2457 else if ((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0)
2446 m_AgentControlFlags &= ~(uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY; 2458 m_AgentControlFlags &= ~(uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
2459 }
2447 2460
2448 m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); 2461 public void NotInTransit()
2462 {
2463 m_inTransit = false;
2449 } 2464 }
2450 2465
2451 public void RestoreInCurrentScene() 2466 public void RestoreInCurrentScene()