diff options
author | Melanie | 2011-12-22 16:37:25 +0000 |
---|---|---|
committer | Melanie | 2011-12-22 16:37:25 +0000 |
commit | b970d4f976ec7f264c33948c734a15a2dbf0ac7d (patch) | |
tree | 93a3365e4a8a32bdfce1ef92bafc02f79f98d449 | |
parent | Merge branch 'master' into careminster (diff) | |
parent | Fixing a bug introduced yesterday. This put the precondition test inside Chec... (diff) | |
download | opensim-SC-b970d4f976ec7f264c33948c734a15a2dbf0ac7d.zip opensim-SC-b970d4f976ec7f264c33948c734a15a2dbf0ac7d.tar.gz opensim-SC-b970d4f976ec7f264c33948c734a15a2dbf0ac7d.tar.bz2 opensim-SC-b970d4f976ec7f264c33948c734a15a2dbf0ac7d.tar.xz |
Merge branch 'master' into careminster
Conflicts:
OpenSim/Region/Framework/Scenes/ScenePresence.cs
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 229 | ||||
-rw-r--r-- | OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsActor.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Physics/POSPlugin/POSCharacter.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Physics/POSPlugin/POSPrim.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Physics/PhysXPlugin/PhysXCharacter.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Physics/PhysXPlugin/PhysXPrim.cs | 6 | ||||
-rw-r--r-- | OpenSim/Services/HypergridService/UserAgentService.cs | 8 |
13 files changed, 134 insertions, 152 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 50baa56..9fdba92 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -46,7 +46,7 @@ using OpenSim.Region.Framework; | |||
46 | using OpenSim.Region.Framework.Interfaces; | 46 | using OpenSim.Region.Framework.Interfaces; |
47 | using OpenSim.Region.Framework.Scenes; | 47 | using OpenSim.Region.Framework.Scenes; |
48 | using OpenSim.Region.Physics.Manager; | 48 | using OpenSim.Region.Physics.Manager; |
49 | using OpenSim.Server.Base; | 49 | using OpenSim.Server.Base; |
50 | using OpenSim.Services.Base; | 50 | using OpenSim.Services.Base; |
51 | using OpenSim.Services.Interfaces; | 51 | using OpenSim.Services.Interfaces; |
52 | using OpenSim.Services.UserAccountService; | 52 | using OpenSim.Services.UserAccountService; |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 34b3c1d..b0a0046 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1180,10 +1180,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1180 | public void CompleteMovement(IClientAPI client, bool openChildAgents) | 1180 | public void CompleteMovement(IClientAPI client, bool openChildAgents) |
1181 | { | 1181 | { |
1182 | // DateTime startTime = DateTime.Now; | 1182 | // DateTime startTime = DateTime.Now; |
1183 | 1183 | ||
1184 | // m_log.DebugFormat( | 1184 | m_log.DebugFormat( |
1185 | // "[SCENE PRESENCE]: Completing movement of {0} into region {1}", | 1185 | "[SCENE PRESENCE]: Completing movement of {0} into region {1} in position {2}", |
1186 | // client.Name, Scene.RegionInfo.RegionName); | 1186 | client.Name, Scene.RegionInfo.RegionName, AbsolutePosition); |
1187 | 1187 | ||
1188 | Vector3 look = Velocity; | 1188 | Vector3 look = Velocity; |
1189 | if ((look.X == 0) && (look.Y == 0) && (look.Z == 0)) | 1189 | if ((look.X == 0) && (look.Y == 0) && (look.Z == 0)) |
@@ -2405,9 +2405,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2405 | m_lastVelocity = Velocity; | 2405 | m_lastVelocity = Velocity; |
2406 | } | 2406 | } |
2407 | 2407 | ||
2408 | // followed suggestion from mic bowman. reversed the two lines below. | 2408 | CheckForBorderCrossing(); |
2409 | if (ParentID == 0 && PhysicsActor != null || ParentID != 0) // Check that we have a physics actor or we're sitting on something | ||
2410 | CheckForBorderCrossing(); | ||
2411 | 2409 | ||
2412 | CheckForSignificantMovement(); // sends update to the modules. | 2410 | CheckForSignificantMovement(); // sends update to the modules. |
2413 | } | 2411 | } |
@@ -2760,146 +2758,143 @@ namespace OpenSim.Region.Framework.Scenes | |||
2760 | /// </remarks> | 2758 | /// </remarks> |
2761 | protected void CheckForBorderCrossing() | 2759 | protected void CheckForBorderCrossing() |
2762 | { | 2760 | { |
2763 | if (IsChildAgent) | 2761 | // Check that we we are not a child |
2762 | if (IsChildAgent) | ||
2764 | return; | 2763 | return; |
2765 | 2764 | ||
2766 | if (ParentID != 0) | 2765 | if (ParentID != 0) |
2767 | return; | 2766 | return; |
2768 | 2767 | ||
2769 | Vector3 pos2 = AbsolutePosition; | ||
2770 | Vector3 vel = Velocity; | ||
2771 | int neighbor = 0; | ||
2772 | int[] fix = new int[2]; | ||
2773 | |||
2774 | float timeStep = 0.1f; | ||
2775 | pos2.X = pos2.X + (vel.X*timeStep); | ||
2776 | pos2.Y = pos2.Y + (vel.Y*timeStep); | ||
2777 | pos2.Z = pos2.Z + (vel.Z*timeStep); | ||
2778 | |||
2779 | if (!IsInTransit) | 2768 | if (!IsInTransit) |
2780 | { | 2769 | { |
2781 | // Checks if where it's headed exists a region | 2770 | Vector3 pos2 = AbsolutePosition; |
2771 | Vector3 vel = Velocity; | ||
2772 | int neighbor = 0; | ||
2773 | int[] fix = new int[2]; | ||
2774 | |||
2775 | float timeStep = 0.1f; | ||
2776 | pos2.X = pos2.X + (vel.X * timeStep); | ||
2777 | pos2.Y = pos2.Y + (vel.Y * timeStep); | ||
2778 | pos2.Z = pos2.Z + (vel.Z * timeStep); | ||
2782 | 2779 | ||
2783 | bool needsTransit = false; | 2780 | if (!IsInTransit) |
2784 | if (m_scene.TestBorderCross(pos2, Cardinals.W)) | ||
2785 | { | 2781 | { |
2786 | if (m_scene.TestBorderCross(pos2, Cardinals.S)) | 2782 | // Checks if where it's headed exists a region |
2787 | { | 2783 | bool needsTransit = false; |
2788 | needsTransit = true; | 2784 | if (m_scene.TestBorderCross(pos2, Cardinals.W)) |
2789 | neighbor = m_scene.HaveNeighbor(Cardinals.SW, ref fix); | ||
2790 | } | ||
2791 | else if (m_scene.TestBorderCross(pos2, Cardinals.N)) | ||
2792 | { | 2785 | { |
2793 | needsTransit = true; | 2786 | if (m_scene.TestBorderCross(pos2, Cardinals.S)) |
2794 | neighbor = m_scene.HaveNeighbor(Cardinals.NW, ref fix); | 2787 | { |
2788 | needsTransit = true; | ||
2789 | neighbor = m_scene.HaveNeighbor(Cardinals.SW, ref fix); | ||
2790 | } | ||
2791 | else if (m_scene.TestBorderCross(pos2, Cardinals.N)) | ||
2792 | { | ||
2793 | needsTransit = true; | ||
2794 | neighbor = m_scene.HaveNeighbor(Cardinals.NW, ref fix); | ||
2795 | } | ||
2796 | else | ||
2797 | { | ||
2798 | needsTransit = true; | ||
2799 | neighbor = m_scene.HaveNeighbor(Cardinals.W, ref fix); | ||
2800 | } | ||
2795 | } | 2801 | } |
2796 | else | 2802 | else if (m_scene.TestBorderCross(pos2, Cardinals.E)) |
2797 | { | 2803 | { |
2798 | needsTransit = true; | 2804 | if (m_scene.TestBorderCross(pos2, Cardinals.S)) |
2799 | neighbor = m_scene.HaveNeighbor(Cardinals.W, ref fix); | 2805 | { |
2806 | needsTransit = true; | ||
2807 | neighbor = m_scene.HaveNeighbor(Cardinals.SE, ref fix); | ||
2808 | } | ||
2809 | else if (m_scene.TestBorderCross(pos2, Cardinals.N)) | ||
2810 | { | ||
2811 | needsTransit = true; | ||
2812 | neighbor = m_scene.HaveNeighbor(Cardinals.NE, ref fix); | ||
2813 | } | ||
2814 | else | ||
2815 | { | ||
2816 | needsTransit = true; | ||
2817 | neighbor = m_scene.HaveNeighbor(Cardinals.E, ref fix); | ||
2818 | } | ||
2800 | } | 2819 | } |
2801 | } | 2820 | else if (m_scene.TestBorderCross(pos2, Cardinals.S)) |
2802 | else if (m_scene.TestBorderCross(pos2, Cardinals.E)) | ||
2803 | { | ||
2804 | if (m_scene.TestBorderCross(pos2, Cardinals.S)) | ||
2805 | { | 2821 | { |
2806 | needsTransit = true; | 2822 | needsTransit = true; |
2807 | neighbor = m_scene.HaveNeighbor(Cardinals.SE, ref fix); | 2823 | neighbor = m_scene.HaveNeighbor(Cardinals.S, ref fix); |
2808 | } | 2824 | } |
2809 | else if (m_scene.TestBorderCross(pos2, Cardinals.N)) | 2825 | else if (m_scene.TestBorderCross(pos2, Cardinals.N)) |
2810 | { | 2826 | { |
2811 | needsTransit = true; | 2827 | needsTransit = true; |
2812 | neighbor = m_scene.HaveNeighbor(Cardinals.NE, ref fix); | 2828 | neighbor = m_scene.HaveNeighbor(Cardinals.N, ref fix); |
2813 | } | ||
2814 | else | ||
2815 | { | ||
2816 | needsTransit = true; | ||
2817 | neighbor = m_scene.HaveNeighbor(Cardinals.E, ref fix); | ||
2818 | } | 2829 | } |
2819 | } | ||
2820 | else if (m_scene.TestBorderCross(pos2, Cardinals.S)) | ||
2821 | { | ||
2822 | needsTransit = true; | ||
2823 | neighbor = m_scene.HaveNeighbor(Cardinals.S, ref fix); | ||
2824 | } | ||
2825 | else if (m_scene.TestBorderCross(pos2, Cardinals.N)) | ||
2826 | { | ||
2827 | needsTransit = true; | ||
2828 | neighbor = m_scene.HaveNeighbor(Cardinals.N, ref fix); | ||
2829 | } | ||
2830 | 2830 | ||
2831 | // Makes sure avatar does not end up outside region | 2831 | // Makes sure avatar does not end up outside region |
2832 | if (neighbor <= 0) | 2832 | if (neighbor <= 0) |
2833 | { | ||
2834 | if (needsTransit) | ||
2835 | { | 2833 | { |
2836 | if (m_requestedSitTargetUUID == UUID.Zero) | 2834 | if (needsTransit) |
2837 | { | 2835 | { |
2838 | bool isFlying = Flying; | 2836 | if (m_requestedSitTargetUUID == UUID.Zero) |
2839 | RemoveFromPhysicalScene(); | 2837 | { |
2840 | 2838 | bool isFlying = Flying; | |
2841 | Vector3 pos = AbsolutePosition; | 2839 | RemoveFromPhysicalScene(); |
2842 | if (AbsolutePosition.X < 0) | 2840 | |
2843 | pos.X += Velocity.X * 2; | 2841 | Vector3 pos = AbsolutePosition; |
2844 | else if (AbsolutePosition.X > Constants.RegionSize) | 2842 | if (AbsolutePosition.X < 0) |
2845 | pos.X -= Velocity.X * 2; | 2843 | pos.X += Velocity.X * 2; |
2846 | if (AbsolutePosition.Y < 0) | 2844 | else if (AbsolutePosition.X > Constants.RegionSize) |
2847 | pos.Y += Velocity.Y * 2; | 2845 | pos.X -= Velocity.X * 2; |
2848 | else if (AbsolutePosition.Y > Constants.RegionSize) | 2846 | if (AbsolutePosition.Y < 0) |
2849 | pos.Y -= Velocity.Y * 2; | 2847 | pos.Y += Velocity.Y * 2; |
2850 | Velocity = Vector3.Zero; | 2848 | else if (AbsolutePosition.Y > Constants.RegionSize) |
2851 | AbsolutePosition = pos; | 2849 | pos.Y -= Velocity.Y * 2; |
2852 | 2850 | Velocity = Vector3.Zero; | |
2853 | // m_log.DebugFormat("[SCENE PRESENCE]: Prevented flyoff for {0} at {1}", Name, AbsolutePosition); | 2851 | AbsolutePosition = pos; |
2854 | 2852 | ||
2855 | AddToPhysicalScene(isFlying); | 2853 | m_log.DebugFormat("[SCENE PRESENCE]: Prevented flyoff for {0} at {1}", Name, AbsolutePosition); |
2854 | |||
2855 | AddToPhysicalScene(isFlying); | ||
2856 | } | ||
2856 | } | 2857 | } |
2857 | } | 2858 | } |
2858 | } | 2859 | else if (neighbor > 0) |
2859 | else if (neighbor > 0) | ||
2860 | { | ||
2861 | if (!CrossToNewRegion()) | ||
2862 | { | 2860 | { |
2863 | if (m_requestedSitTargetUUID == UUID.Zero) | 2861 | if (!CrossToNewRegion()) |
2864 | { | 2862 | { |
2865 | bool isFlying = Flying; | 2863 | if (m_requestedSitTargetUUID == UUID.Zero) |
2866 | RemoveFromPhysicalScene(); | 2864 | { |
2867 | 2865 | bool isFlying = Flying; | |
2868 | Vector3 pos = AbsolutePosition; | 2866 | RemoveFromPhysicalScene(); |
2869 | if (AbsolutePosition.X < 0) | 2867 | |
2870 | pos.X += Velocity.X * 2; | 2868 | Vector3 pos = AbsolutePosition; |
2871 | else if (AbsolutePosition.X > Constants.RegionSize) | 2869 | if (AbsolutePosition.X < 0) |
2872 | pos.X -= Velocity.X * 2; | 2870 | pos.X += Velocity.X * 2; |
2873 | if (AbsolutePosition.Y < 0) | 2871 | else if (AbsolutePosition.X > Constants.RegionSize) |
2874 | pos.Y += Velocity.Y * 2; | 2872 | pos.X -= Velocity.X * 2; |
2875 | else if (AbsolutePosition.Y > Constants.RegionSize) | 2873 | if (AbsolutePosition.Y < 0) |
2876 | pos.Y -= Velocity.Y * 2; | 2874 | pos.Y += Velocity.Y * 2; |
2877 | Velocity = Vector3.Zero; | 2875 | else if (AbsolutePosition.Y > Constants.RegionSize) |
2878 | AbsolutePosition = pos; | 2876 | pos.Y -= Velocity.Y * 2; |
2879 | 2877 | Velocity = Vector3.Zero; | |
2880 | AddToPhysicalScene(isFlying); | 2878 | AbsolutePosition = pos; |
2879 | |||
2880 | AddToPhysicalScene(isFlying); | ||
2881 | } | ||
2881 | } | 2882 | } |
2882 | } | 2883 | } |
2883 | } | 2884 | } |
2884 | } | 2885 | else |
2885 | else | 2886 | { |
2886 | { | 2887 | // This constant has been inferred from experimentation |
2887 | // We must remove the agent from the physical scene if it has been placed in transit. If we don't, | 2888 | // I'm not sure what this value should be, so I tried a few values. |
2888 | // then this method continues to be called from ScenePresence.Update() until the handover of the client between | 2889 | timeStep = 0.04f; |
2889 | // regions is completed. Since this handover can take more than 1000ms (due to the 1000ms | 2890 | pos2 = AbsolutePosition; |
2890 | // event queue polling response from the server), this results in the avatar pausing on the border | 2891 | pos2.X = pos2.X + (vel.X * timeStep); |
2891 | // for the handover period. | 2892 | pos2.Y = pos2.Y + (vel.Y * timeStep); |
2892 | RemoveFromPhysicalScene(); | 2893 | // Don't touch the Z |
2893 | 2894 | m_pos = pos2; | |
2894 | // This constant has been inferred from experimentation | 2895 | m_log.DebugFormat("[SCENE PRESENCE]: In transit m_pos={0}", m_pos); |
2895 | // I'm not sure what this value should be, so I tried a few values. | 2896 | } |
2896 | timeStep = 0.04f; | 2897 | } |
2897 | pos2 = AbsolutePosition; | ||
2898 | pos2.X = pos2.X + (vel.X * timeStep); | ||
2899 | pos2.Y = pos2.Y + (vel.Y * timeStep); | ||
2900 | pos2.Z = pos2.Z + (vel.Z * timeStep); | ||
2901 | m_pos = pos2; | ||
2902 | } | ||
2903 | } | 2898 | } |
2904 | 2899 | ||
2905 | /// <summary> | 2900 | /// <summary> |
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs index 1e1d5e3..b1a3ff9 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs | |||
@@ -233,6 +233,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
233 | public override Vector3 Acceleration | 233 | public override Vector3 Acceleration |
234 | { | 234 | { |
235 | get { return _acceleration; } | 235 | get { return _acceleration; } |
236 | set { _acceleration = value; } | ||
236 | } | 237 | } |
237 | 238 | ||
238 | public override bool Kinematic | 239 | public override bool Kinematic |
@@ -253,11 +254,6 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
253 | { | 254 | { |
254 | } | 255 | } |
255 | 256 | ||
256 | public void SetAcceleration(Vector3 accel) | ||
257 | { | ||
258 | _acceleration = accel; | ||
259 | } | ||
260 | |||
261 | public override void AddForce(Vector3 force, bool pushforce) | 257 | public override void AddForce(Vector3 force, bool pushforce) |
262 | { | 258 | { |
263 | } | 259 | } |
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 9a6857b..0cab5d1 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |||
@@ -231,7 +231,8 @@ public class BSCharacter : PhysicsActor | |||
231 | } | 231 | } |
232 | } | 232 | } |
233 | public override Vector3 Acceleration { | 233 | public override Vector3 Acceleration { |
234 | get { return _acceleration; } | 234 | get { return _acceleration; } |
235 | set { _acceleration = value; } | ||
235 | } | 236 | } |
236 | public override Quaternion Orientation { | 237 | public override Quaternion Orientation { |
237 | get { return _orientation; } | 238 | get { return _orientation; } |
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 8782e62..898436b 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | |||
@@ -417,7 +417,8 @@ public sealed class BSPrim : PhysicsActor | |||
417 | } | 417 | } |
418 | } | 418 | } |
419 | public override OMV.Vector3 Acceleration { | 419 | public override OMV.Vector3 Acceleration { |
420 | get { return _acceleration; } | 420 | get { return _acceleration; } |
421 | set { _acceleration = value; } | ||
421 | } | 422 | } |
422 | public override OMV.Quaternion Orientation { | 423 | public override OMV.Quaternion Orientation { |
423 | get { return _orientation; } | 424 | get { return _orientation; } |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index c2acf97..0587054 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs | |||
@@ -261,7 +261,7 @@ namespace OpenSim.Region.Physics.Manager | |||
261 | 261 | ||
262 | public abstract Vector3 Torque { get; set; } | 262 | public abstract Vector3 Torque { get; set; } |
263 | public abstract float CollisionScore { get; set;} | 263 | public abstract float CollisionScore { get; set;} |
264 | public abstract Vector3 Acceleration { get; } | 264 | public abstract Vector3 Acceleration { get; set; } |
265 | public abstract Quaternion Orientation { get; set; } | 265 | public abstract Quaternion Orientation { get; set; } |
266 | public abstract int PhysicsActorType { get; set; } | 266 | public abstract int PhysicsActorType { get; set; } |
267 | public abstract bool IsPhysical { get; set; } | 267 | public abstract bool IsPhysical { get; set; } |
@@ -458,6 +458,7 @@ namespace OpenSim.Region.Physics.Manager | |||
458 | public override Vector3 Acceleration | 458 | public override Vector3 Acceleration |
459 | { | 459 | { |
460 | get { return Vector3.Zero; } | 460 | get { return Vector3.Zero; } |
461 | set { } | ||
461 | } | 462 | } |
462 | 463 | ||
463 | public override bool IsPhysical | 464 | public override bool IsPhysical |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index f2bb4bf..68999fc 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -690,12 +690,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
690 | public override Vector3 Acceleration | 690 | public override Vector3 Acceleration |
691 | { | 691 | { |
692 | get { return _acceleration; } | 692 | get { return _acceleration; } |
693 | } | 693 | set { _acceleration = value; } |
694 | |||
695 | public void SetAcceleration(Vector3 accel) | ||
696 | { | ||
697 | m_pidControllerActive = true; | ||
698 | _acceleration = accel; | ||
699 | } | 694 | } |
700 | 695 | ||
701 | /// <summary> | 696 | /// <summary> |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index af05a15..62e3763 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -2497,6 +2497,7 @@ Console.WriteLine(" JointCreateFixed"); | |||
2497 | public override Vector3 Acceleration | 2497 | public override Vector3 Acceleration |
2498 | { | 2498 | { |
2499 | get { return _acceleration; } | 2499 | get { return _acceleration; } |
2500 | set { _acceleration = value; } | ||
2500 | } | 2501 | } |
2501 | 2502 | ||
2502 | public override void AddForce(Vector3 force, bool pushforce) | 2503 | public override void AddForce(Vector3 force, bool pushforce) |
diff --git a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs index a70179b..ae534ea 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs | |||
@@ -231,6 +231,7 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
231 | public override Vector3 Acceleration | 231 | public override Vector3 Acceleration |
232 | { | 232 | { |
233 | get { return _acceleration; } | 233 | get { return _acceleration; } |
234 | set { _acceleration = value; } | ||
234 | } | 235 | } |
235 | 236 | ||
236 | public override bool Kinematic | 237 | public override bool Kinematic |
@@ -251,11 +252,6 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
251 | { | 252 | { |
252 | } | 253 | } |
253 | 254 | ||
254 | public void SetAcceleration(Vector3 accel) | ||
255 | { | ||
256 | _acceleration = accel; | ||
257 | } | ||
258 | |||
259 | public override void AddForce(Vector3 force, bool pushforce) | 255 | public override void AddForce(Vector3 force, bool pushforce) |
260 | { | 256 | { |
261 | } | 257 | } |
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs index 9ba5ebb..2ea8bfc 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs | |||
@@ -193,6 +193,7 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
193 | public override Vector3 Acceleration | 193 | public override Vector3 Acceleration |
194 | { | 194 | { |
195 | get { return _acceleration; } | 195 | get { return _acceleration; } |
196 | set { _acceleration = value; } | ||
196 | } | 197 | } |
197 | 198 | ||
198 | public override bool Kinematic | 199 | public override bool Kinematic |
@@ -201,11 +202,6 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
201 | set { } | 202 | set { } |
202 | } | 203 | } |
203 | 204 | ||
204 | public void SetAcceleration(Vector3 accel) | ||
205 | { | ||
206 | _acceleration = accel; | ||
207 | } | ||
208 | |||
209 | public override void AddForce(Vector3 force, bool pushforce) | 205 | public override void AddForce(Vector3 force, bool pushforce) |
210 | { | 206 | { |
211 | } | 207 | } |
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXCharacter.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXCharacter.cs index 92261cd..9216a9e 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXCharacter.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXCharacter.cs | |||
@@ -233,11 +233,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
233 | public override Vector3 Acceleration | 233 | public override Vector3 Acceleration |
234 | { | 234 | { |
235 | get { return _acceleration; } | 235 | get { return _acceleration; } |
236 | } | 236 | set { _acceleration = value; } |
237 | |||
238 | public void SetAcceleration(Vector3 accel) | ||
239 | { | ||
240 | _acceleration = accel; | ||
241 | } | 237 | } |
242 | 238 | ||
243 | public override void AddForce(Vector3 force, bool pushforce) | 239 | public override void AddForce(Vector3 force, bool pushforce) |
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPrim.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPrim.cs index c0e24fd..42bd119 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPrim.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPrim.cs | |||
@@ -207,11 +207,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
207 | public override Vector3 Acceleration | 207 | public override Vector3 Acceleration |
208 | { | 208 | { |
209 | get { return _acceleration; } | 209 | get { return _acceleration; } |
210 | } | 210 | set { _acceleration = value; } |
211 | |||
212 | public void SetAcceleration(Vector3 accel) | ||
213 | { | ||
214 | _acceleration = accel; | ||
215 | } | 211 | } |
216 | 212 | ||
217 | public override void AddForce(Vector3 force, bool pushforce) | 213 | public override void AddForce(Vector3 force, bool pushforce) |
diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index 398a7b7..38bcce6 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs | |||
@@ -161,6 +161,14 @@ namespace OpenSim.Services.HypergridService | |||
161 | { | 161 | { |
162 | m_log.DebugFormat("[USER AGENT SERVICE]: Request to login user {0} {1} (@{2}) to grid {3}", | 162 | m_log.DebugFormat("[USER AGENT SERVICE]: Request to login user {0} {1} (@{2}) to grid {3}", |
163 | agentCircuit.firstname, agentCircuit.lastname, ((clientIP == null) ? "stored IP" : clientIP.Address.ToString()), gatekeeper.ServerURI); | 163 | agentCircuit.firstname, agentCircuit.lastname, ((clientIP == null) ? "stored IP" : clientIP.Address.ToString()), gatekeeper.ServerURI); |
164 | |||
165 | if (m_UserAccountService.GetUserAccount(UUID.Zero, agentCircuit.AgentID) == null) | ||
166 | { | ||
167 | m_log.WarnFormat("[USER AGENT SERVICE]: Someone attempted to lauch a foreign user from here {0} {1}", agentCircuit.firstname, agentCircuit.lastname); | ||
168 | reason = "Forbidden to launch your agents from here"; | ||
169 | return false; | ||
170 | } | ||
171 | |||
164 | // Take the IP address + port of the gatekeeper (reg) plus the info of finalDestination | 172 | // Take the IP address + port of the gatekeeper (reg) plus the info of finalDestination |
165 | GridRegion region = new GridRegion(gatekeeper); | 173 | GridRegion region = new GridRegion(gatekeeper); |
166 | region.ServerURI = gatekeeper.ServerURI; | 174 | region.ServerURI = gatekeeper.ServerURI; |