diff options
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdeScene.cs | 16 |
3 files changed, 30 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 05eaf2a..43bef3c 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -1251,7 +1251,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1251 | public override Vector3 PIDTarget { set { return; } } | 1251 | public override Vector3 PIDTarget { set { return; } } |
1252 | public override bool PIDActive | 1252 | public override bool PIDActive |
1253 | { | 1253 | { |
1254 | get { return false; } | 1254 | // os version |
1255 | // get { return false; } | ||
1255 | set { return; } | 1256 | set { return; } |
1256 | } | 1257 | } |
1257 | public override float PIDTau { set { return; } } | 1258 | public override float PIDTau { set { return; } } |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index f934b8a..218ccda 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -114,6 +114,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
114 | private float m_PIDTau; | 114 | private float m_PIDTau; |
115 | private float PID_D = 35f; | 115 | private float PID_D = 35f; |
116 | private float PID_G = 25f; | 116 | private float PID_G = 25f; |
117 | private bool m_usePID; | ||
117 | 118 | ||
118 | // KF: These next 7 params apply to llSetHoverHeight(float height, integer water, float tau), | 119 | // KF: These next 7 params apply to llSetHoverHeight(float height, integer water, float tau), |
119 | // and are for non-VEHICLES only. | 120 | // and are for non-VEHICLES only. |
@@ -1730,7 +1731,7 @@ Console.WriteLine(" JointCreateFixed"); | |||
1730 | // gravityz multiplier = 1 - m_buoyancy | 1731 | // gravityz multiplier = 1 - m_buoyancy |
1731 | fz = _parent_scene.gravityz * (1.0f - m_buoyancy) * m_mass; | 1732 | fz = _parent_scene.gravityz * (1.0f - m_buoyancy) * m_mass; |
1732 | 1733 | ||
1733 | if (PIDActive) | 1734 | if (m_usePID) |
1734 | { | 1735 | { |
1735 | //Console.WriteLine("PID " + Name); | 1736 | //Console.WriteLine("PID " + Name); |
1736 | // KF - this is for object move? eg. llSetPos() ? | 1737 | // KF - this is for object move? eg. llSetPos() ? |
@@ -1802,7 +1803,7 @@ Console.WriteLine(" JointCreateFixed"); | |||
1802 | } // end if (PIDActive) | 1803 | } // end if (PIDActive) |
1803 | 1804 | ||
1804 | // Hover PID Controller needs to be mutually exlusive to MoveTo PID controller | 1805 | // Hover PID Controller needs to be mutually exlusive to MoveTo PID controller |
1805 | if (m_useHoverPID && !PIDActive) | 1806 | if (m_useHoverPID && !m_usePID) |
1806 | { | 1807 | { |
1807 | //Console.WriteLine("Hover " + Name); | 1808 | //Console.WriteLine("Hover " + Name); |
1808 | 1809 | ||
@@ -2874,7 +2875,7 @@ Console.WriteLine(" JointCreateFixed"); | |||
2874 | // it does make sense to do this for tiny little instabilities with physical prim, however 0.5m/frame is fairly large. | 2875 | // it does make sense to do this for tiny little instabilities with physical prim, however 0.5m/frame is fairly large. |
2875 | // reducing this to 0.02m/frame seems to help the angular rubberbanding quite a bit, however, to make sure it doesn't affect elevators and vehicles | 2876 | // reducing this to 0.02m/frame seems to help the angular rubberbanding quite a bit, however, to make sure it doesn't affect elevators and vehicles |
2876 | // adding these logical exclusion situations to maintain this where I think it was intended to be. | 2877 | // adding these logical exclusion situations to maintain this where I think it was intended to be. |
2877 | if (m_throttleUpdates || PIDActive || (m_vehicle != null && m_vehicle.Type != Vehicle.TYPE_NONE) || (Amotor != IntPtr.Zero)) | 2878 | if (m_throttleUpdates || m_usePID || (m_vehicle != null && m_vehicle.Type != Vehicle.TYPE_NONE) || (Amotor != IntPtr.Zero)) |
2878 | { | 2879 | { |
2879 | m_minvelocity = 0.5f; | 2880 | m_minvelocity = 0.5f; |
2880 | } | 2881 | } |
@@ -2955,7 +2956,10 @@ Console.WriteLine(" JointCreateFixed"); | |||
2955 | m_log.WarnFormat("[PHYSICS]: Got NaN PIDTarget from Scene on Object {0}", Name); | 2956 | m_log.WarnFormat("[PHYSICS]: Got NaN PIDTarget from Scene on Object {0}", Name); |
2956 | } | 2957 | } |
2957 | } | 2958 | } |
2958 | public override bool PIDActive { get; set; } | 2959 | // os version |
2960 | //public override bool PIDActive {get { return m_usePID; } set { m_usePID = value; } } | ||
2961 | public override bool PIDActive { set { m_usePID = value; } } | ||
2962 | |||
2959 | public override float PIDTau { set { m_PIDTau = value; } } | 2963 | public override float PIDTau { set { m_PIDTau = value; } } |
2960 | 2964 | ||
2961 | public override float PIDHoverHeight { set { m_PIDHoverHeight = value; ; } } | 2965 | public override float PIDHoverHeight { set { m_PIDHoverHeight = value; ; } } |
@@ -3352,7 +3356,10 @@ Console.WriteLine(" JointCreateFixed"); | |||
3352 | RequestAssetDelegate assetProvider = _parent_scene.RequestAssetMethod; | 3356 | RequestAssetDelegate assetProvider = _parent_scene.RequestAssetMethod; |
3353 | if (assetProvider != null) | 3357 | if (assetProvider != null) |
3354 | assetProvider(_pbs.SculptTexture, MeshAssetReceived); | 3358 | assetProvider(_pbs.SculptTexture, MeshAssetReceived); |
3355 | }, null, "ODEPrim.CheckMeshAsset"); | 3359 | // os version |
3360 | //}, null, "ODEPrim.CheckMeshAsset"); | ||
3361 | // avn | ||
3362 | }); | ||
3356 | } | 3363 | } |
3357 | } | 3364 | } |
3358 | 3365 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs index 5953557..1b7d2bf 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs | |||
@@ -1969,6 +1969,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1969 | 1969 | ||
1970 | #region Add/Remove Entities | 1970 | #region Add/Remove Entities |
1971 | 1971 | ||
1972 | /* core version | ||
1972 | public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 velocity, Vector3 size, bool isFlying) | 1973 | public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 velocity, Vector3 size, bool isFlying) |
1973 | { | 1974 | { |
1974 | OdeCharacter newAv | 1975 | OdeCharacter newAv |
@@ -1983,6 +1984,21 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1983 | 1984 | ||
1984 | return newAv; | 1985 | return newAv; |
1985 | } | 1986 | } |
1987 | */ | ||
1988 | public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) | ||
1989 | { | ||
1990 | OdeCharacter newAv | ||
1991 | = new OdeCharacter( | ||
1992 | avName, this, position, Vector3.Zero, size, avPIDD, avPIDP, | ||
1993 | avCapRadius, avStandupTensor, avDensity, | ||
1994 | avMovementDivisorWalk, avMovementDivisorRun); | ||
1995 | |||
1996 | newAv.Flying = isFlying; | ||
1997 | newAv.MinimumGroundFlightOffset = minimumGroundFlightOffset; | ||
1998 | newAv.m_avatarplanted = avplanted; | ||
1999 | |||
2000 | return newAv; | ||
2001 | } | ||
1986 | 2002 | ||
1987 | public override void RemoveAvatar(PhysicsActor actor) | 2003 | public override void RemoveAvatar(PhysicsActor actor) |
1988 | { | 2004 | { |