diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 7359011..6badaf5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2589,7 +2589,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2589 | { | 2589 | { |
2590 | foreach (SceneObjectPart part in m_parts.Values) | 2590 | foreach (SceneObjectPart part in m_parts.Values) |
2591 | { | 2591 | { |
2592 | if (part.Scale.X > 10.0 || part.Scale.Y > 10.0 || part.Scale.Z > 10.0) | 2592 | if (part.Scale.X > m_scene.RegionInfo.PhysPrimMax || |
2593 | part.Scale.Y > m_scene.RegionInfo.PhysPrimMax || | ||
2594 | part.Scale.Z > m_scene.RegionInfo.PhysPrimMax) | ||
2593 | { | 2595 | { |
2594 | UsePhysics = false; // Reset physics | 2596 | UsePhysics = false; // Reset physics |
2595 | break; | 2597 | break; |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 9e9c36f..d241574 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -723,6 +723,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
723 | break; | 723 | break; |
724 | } | 724 | } |
725 | } | 725 | } |
726 | if (returnMass > _parent_scene.maximumMassObject) | ||
727 | returnMass = _parent_scene.maximumMassObject; | ||
726 | return returnMass; | 728 | return returnMass; |
727 | }// end CalculateMass | 729 | }// end CalculateMass |
728 | 730 | ||
@@ -733,6 +735,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
733 | if (Body != (IntPtr) 0) | 735 | if (Body != (IntPtr) 0) |
734 | { | 736 | { |
735 | float newmass = CalculateMass(); | 737 | float newmass = CalculateMass(); |
738 | |||
736 | //m_log.Info("[PHYSICS]: New Mass: " + newmass.ToString()); | 739 | //m_log.Info("[PHYSICS]: New Mass: " + newmass.ToString()); |
737 | 740 | ||
738 | d.MassSetBoxTotal(out pMass, newmass, _size.X, _size.Y, _size.Z); | 741 | d.MassSetBoxTotal(out pMass, newmass, _size.X, _size.Y, _size.Z); |
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index a0aba2a..0384d6e 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -207,6 +207,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
207 | private float avMovementDivisorWalk = 1.3f; | 207 | private float avMovementDivisorWalk = 1.3f; |
208 | private float avMovementDivisorRun = 0.8f; | 208 | private float avMovementDivisorRun = 0.8f; |
209 | private float minimumGroundFlightOffset = 3f; | 209 | private float minimumGroundFlightOffset = 3f; |
210 | public float maximumMassObject = 10000.01f; | ||
210 | 211 | ||
211 | public bool meshSculptedPrim = true; | 212 | public bool meshSculptedPrim = true; |
212 | public bool forceSimplePrimMeshing = false; | 213 | public bool forceSimplePrimMeshing = false; |
@@ -480,6 +481,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
480 | 481 | ||
481 | m_NINJA_physics_joints_enabled = physicsconfig.GetBoolean("use_NINJA_physics_joints", false); | 482 | m_NINJA_physics_joints_enabled = physicsconfig.GetBoolean("use_NINJA_physics_joints", false); |
482 | minimumGroundFlightOffset = physicsconfig.GetFloat("minimum_ground_flight_offset", 3f); | 483 | minimumGroundFlightOffset = physicsconfig.GetFloat("minimum_ground_flight_offset", 3f); |
484 | maximumMassObject = physicsconfig.GetFloat("maximum_mass_object", 10000.01f); | ||
483 | } | 485 | } |
484 | } | 486 | } |
485 | 487 | ||