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.cs37
1 files changed, 16 insertions, 21 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 6b6fa7c..af9afa6 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -650,7 +650,7 @@ namespace OpenSim.Region.Framework.Scenes
650 #region Constructor(s) 650 #region Constructor(s)
651 651
652 public ScenePresence() 652 public ScenePresence()
653 { 653 {
654 m_sendCourseLocationsMethod = SendCoarseLocationsDefault; 654 m_sendCourseLocationsMethod = SendCoarseLocationsDefault;
655 CreateSceneViewer(); 655 CreateSceneViewer();
656 m_animator = new ScenePresenceAnimator(this); 656 m_animator = new ScenePresenceAnimator(this);
@@ -1241,14 +1241,6 @@ namespace OpenSim.Region.Framework.Scenes
1241 } 1241 }
1242 else 1242 else
1243 { 1243 {
1244 if (m_pos.X < 0)
1245 m_pos.X = 128;
1246 if (m_pos.Y < 0)
1247 m_pos.Y = 128;
1248 if (m_pos.X > Scene.WestBorders[0].BorderLine.X)
1249 m_pos.X = 128;
1250 if (m_pos.Y > Scene.NorthBorders[0].BorderLine.Y)
1251 m_pos.Y = 128;
1252 m_LastFinitePos = m_pos; 1244 m_LastFinitePos = m_pos;
1253 } 1245 }
1254 1246
@@ -2818,16 +2810,19 @@ namespace OpenSim.Region.Framework.Scenes
2818 { 2810 {
2819 if (!needsTransit) 2811 if (!needsTransit)
2820 { 2812 {
2821 Vector3 pos = AbsolutePosition; 2813 if (m_requestedSitTargetUUID == UUID.Zero)
2822 if (AbsolutePosition.X < 0) 2814 {
2823 pos.X += Velocity.Y; 2815 Vector3 pos = AbsolutePosition;
2824 else if (AbsolutePosition.X > Constants.RegionSize) 2816 if (AbsolutePosition.X < 0)
2825 pos.X -= Velocity.Y; 2817 pos.X += Velocity.X;
2826 if (AbsolutePosition.Y < 0) 2818 else if (AbsolutePosition.X > Constants.RegionSize)
2827 pos.Y += Velocity.Y; 2819 pos.X -= Velocity.X;
2828 else if (AbsolutePosition.Y > Constants.RegionSize) 2820 if (AbsolutePosition.Y < 0)
2829 pos.Y -= Velocity.Y; 2821 pos.Y += Velocity.Y;
2830 AbsolutePosition = pos; 2822 else if (AbsolutePosition.Y > Constants.RegionSize)
2823 pos.Y -= Velocity.Y;
2824 AbsolutePosition = pos;
2825 }
2831 } 2826 }
2832 } 2827 }
2833 else if (neighbor > 0) 2828 else if (neighbor > 0)
@@ -3292,7 +3287,7 @@ namespace OpenSim.Region.Framework.Scenes
3292 m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; 3287 m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate;
3293 m_physicsActor.OnOutOfBounds += OutOfBoundsCall; // Called for PhysicsActors when there's something wrong 3288 m_physicsActor.OnOutOfBounds += OutOfBoundsCall; // Called for PhysicsActors when there's something wrong
3294 m_physicsActor.SubscribeEvents(500); 3289 m_physicsActor.SubscribeEvents(500);
3295 m_physicsActor.LocalID = LocalId; 3290 m_physicsActor.LocalID = LocalId;
3296 } 3291 }
3297 3292
3298 private void OutOfBoundsCall(Vector3 pos) 3293 private void OutOfBoundsCall(Vector3 pos)
@@ -3384,7 +3379,7 @@ namespace OpenSim.Region.Framework.Scenes
3384 } 3379 }
3385 if (m_health <= 0) 3380 if (m_health <= 0)
3386 m_scene.EventManager.TriggerAvatarKill(killerObj, this); 3381 m_scene.EventManager.TriggerAvatarKill(killerObj, this);
3387 } 3382 }
3388 } 3383 }
3389 3384
3390 public void setHealthWithUpdate(float health) 3385 public void setHealthWithUpdate(float health)