aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs12
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs21
2 files changed, 16 insertions, 17 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 25d5e0e..9306ace 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -718,7 +718,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
718 } 718 }
719 else 719 else
720 { 720 {
721 agent.InTransit(); 721 agent.IsInTransit = true;
722 722
723 neighboury = b.TriggerRegionY; 723 neighboury = b.TriggerRegionY;
724 neighbourx = b.TriggerRegionX; 724 neighbourx = b.TriggerRegionX;
@@ -741,7 +741,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
741 } 741 }
742 else 742 else
743 { 743 {
744 agent.InTransit(); 744 agent.IsInTransit = true;
745 745
746 neighboury = ba.TriggerRegionY; 746 neighboury = ba.TriggerRegionY;
747 neighbourx = ba.TriggerRegionX; 747 neighbourx = ba.TriggerRegionX;
@@ -775,7 +775,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
775 } 775 }
776 else 776 else
777 { 777 {
778 agent.InTransit(); 778 agent.IsInTransit = true;
779 779
780 neighboury = ba.TriggerRegionY; 780 neighboury = ba.TriggerRegionY;
781 neighbourx = ba.TriggerRegionX; 781 neighbourx = ba.TriggerRegionX;
@@ -807,7 +807,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
807 } 807 }
808 else 808 else
809 { 809 {
810 agent.InTransit(); 810 agent.IsInTransit = true;
811 811
812 neighboury = b.TriggerRegionY; 812 neighboury = b.TriggerRegionY;
813 neighbourx = b.TriggerRegionX; 813 neighbourx = b.TriggerRegionX;
@@ -895,7 +895,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
895 return false; 895 return false;
896 } 896 }
897 897
898 agent.InTransit(); 898 agent.IsInTransit = true;
899 899
900 CrossAgentToNewRegionDelegate d = CrossAgentToNewRegionAsync; 900 CrossAgentToNewRegionDelegate d = CrossAgentToNewRegionAsync;
901 d.BeginInvoke(agent, newpos, neighbourx, neighboury, neighbourRegion, isFlying, version, CrossAgentToNewRegionCompleted, d); 901 d.BeginInvoke(agent, newpos, neighbourx, neighboury, neighbourRegion, isFlying, version, CrossAgentToNewRegionCompleted, d);
@@ -1089,7 +1089,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1089 agent.RestoreInCurrentScene(); 1089 agent.RestoreInCurrentScene();
1090 1090
1091 // In any case 1091 // In any case
1092 agent.NotInTransit(); 1092 agent.IsInTransit = false;
1093 1093
1094 //m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Crossing agent {0} {1} completed.", agent.Firstname, agent.Lastname); 1094 //m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Crossing agent {0} {1} completed.", agent.Firstname, agent.Lastname);
1095 } 1095 }
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index c5a241a..925a4f3 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -782,7 +782,16 @@ namespace OpenSim.Region.Framework.Scenes
782 public bool IsInTransit 782 public bool IsInTransit
783 { 783 {
784 get { return m_inTransit; } 784 get { return m_inTransit; }
785 private set { m_inTransit = value; } 785 set {
786 if(value)
787 {
788 if ((PhysicsActor != null) && PhysicsActor.Flying)
789 m_AgentControlFlags |= AgentManager.ControlFlags.AGENT_CONTROL_FLY;
790 else if ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0)
791 m_AgentControlFlags &= ~AgentManager.ControlFlags.AGENT_CONTROL_FLY;
792 }
793 m_inTransit = value;
794 }
786 } 795 }
787 796
788 private float m_speedModifier = 1.0f; 797 private float m_speedModifier = 1.0f;
@@ -3298,16 +3307,6 @@ namespace OpenSim.Region.Framework.Scenes
3298 } 3307 }
3299 } 3308 }
3300 3309
3301 public void InTransit()
3302 {
3303 IsInTransit = true;
3304
3305 if ((PhysicsActor != null) && PhysicsActor.Flying)
3306 m_AgentControlFlags |= AgentManager.ControlFlags.AGENT_CONTROL_FLY;
3307 else if ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0)
3308 m_AgentControlFlags &= ~AgentManager.ControlFlags.AGENT_CONTROL_FLY;
3309 }
3310
3311 public void NotInTransit() 3310 public void NotInTransit()
3312 { 3311 {
3313 IsInTransit = false; 3312 IsInTransit = false;