aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs3
2 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 19c068a..b735f36 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -868,6 +868,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
868 // Let's send a full update of the agent. This is a synchronous call. 868 // Let's send a full update of the agent. This is a synchronous call.
869 AgentData agent = new AgentData(); 869 AgentData agent = new AgentData();
870 sp.CopyTo(agent); 870 sp.CopyTo(agent);
871
872 if ((teleportFlags & (uint)TeleportFlags.IsFlying) != 0)
873 agent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
874
871 agent.Position = agentCircuit.startpos; 875 agent.Position = agentCircuit.startpos;
872 SetCallbackURL(agent, sp.Scene.RegionInfo); 876 SetCallbackURL(agent, sp.Scene.RegionInfo);
873 877
@@ -1109,6 +1113,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1109 AgentData agent = new AgentData(); 1113 AgentData agent = new AgentData();
1110 sp.CopyTo(agent); 1114 sp.CopyTo(agent);
1111 agent.Position = agentCircuit.startpos; 1115 agent.Position = agentCircuit.startpos;
1116
1117 if ((teleportFlags & (uint)TeleportFlags.IsFlying) != 0)
1118 agent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
1119
1112 agent.SenderWantsToWaitForRoot = true; 1120 agent.SenderWantsToWaitForRoot = true;
1113 //SetCallbackURL(agent, sp.Scene.RegionInfo); 1121 //SetCallbackURL(agent, sp.Scene.RegionInfo);
1114 1122
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index fd1bab6..dba95c7 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -4268,10 +4268,11 @@ namespace OpenSim.Region.Framework.Scenes
4268 GodLevel = cAgent.GodLevel; 4268 GodLevel = cAgent.GodLevel;
4269 SetAlwaysRun = cAgent.AlwaysRun; 4269 SetAlwaysRun = cAgent.AlwaysRun;
4270 4270
4271 bool isFlying = ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0);
4272
4271 Appearance = new AvatarAppearance(cAgent.Appearance); 4273 Appearance = new AvatarAppearance(cAgent.Appearance);
4272 if (PhysicsActor != null) 4274 if (PhysicsActor != null)
4273 { 4275 {
4274 bool isFlying = Flying;
4275 RemoveFromPhysicalScene(); 4276 RemoveFromPhysicalScene();
4276 AddToPhysicalScene(isFlying); 4277 AddToPhysicalScene(isFlying);
4277 } 4278 }