diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 2bb4fb2..e81ac7b 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -66,6 +66,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
66 | private IScenePresenceBody m_body; // HOUSEKEEPING : Do we really need this? | 66 | private IScenePresenceBody m_body; // HOUSEKEEPING : Do we really need this? |
67 | 67 | ||
68 | protected RegionInfo m_regionInfo; | 68 | protected RegionInfo m_regionInfo; |
69 | protected ulong crossingFromRegion = 0; | ||
69 | 70 | ||
70 | private Vector3[] Dir_Vectors = new Vector3[6]; | 71 | private Vector3[] Dir_Vectors = new Vector3[6]; |
71 | private enum Dir_ControlFlags | 72 | private enum Dir_ControlFlags |
@@ -183,10 +184,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
183 | /// | 184 | /// |
184 | /// </summary> | 185 | /// </summary> |
185 | /// <param name="pos"></param> | 186 | /// <param name="pos"></param> |
186 | public void MakeAvatar(LLVector3 pos) | 187 | public void MakeAvatar(LLVector3 pos, bool isFlying) |
187 | { | 188 | { |
188 | //this.childAvatar = false; | 189 | //this.childAvatar = false; |
189 | this.Pos = pos; | 190 | this.Pos = pos; |
191 | this._physActor.Flying = isFlying; | ||
190 | this.newAvatar = true; | 192 | this.newAvatar = true; |
191 | this.childAgent = false; | 193 | this.childAgent = false; |
192 | } | 194 | } |
@@ -194,8 +196,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
194 | protected void MakeChildAgent() | 196 | protected void MakeChildAgent() |
195 | { | 197 | { |
196 | this.Velocity = new LLVector3(0, 0, 0); | 198 | this.Velocity = new LLVector3(0, 0, 0); |
197 | this.Pos = new LLVector3(128, 128, 70); | ||
198 | this.childAgent = true; | 199 | this.childAgent = true; |
200 | //this.Pos = new LLVector3(128, 128, 70); | ||
199 | } | 201 | } |
200 | 202 | ||
201 | /// <summary> | 203 | /// <summary> |
@@ -551,11 +553,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
551 | RegionInfo neighbourRegion = this.m_world.RequestNeighbouringRegionInfo(neighbourHandle); | 553 | RegionInfo neighbourRegion = this.m_world.RequestNeighbouringRegionInfo(neighbourHandle); |
552 | if (neighbourRegion != null) | 554 | if (neighbourRegion != null) |
553 | { | 555 | { |
554 | bool res = this.m_world.InformNeighbourOfCrossing(neighbourHandle, this.ControllingClient.AgentId, newpos); | 556 | bool res = this.m_world.InformNeighbourOfCrossing(neighbourHandle, this.ControllingClient.AgentId, newpos, this._physActor.Flying); |
555 | if (res) | 557 | if (res) |
556 | { | 558 | { |
557 | this.MakeChildAgent(); | ||
558 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint); | 559 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint); |
560 | this.MakeChildAgent(); | ||
559 | } | 561 | } |
560 | } | 562 | } |
561 | } | 563 | } |