aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs4
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs3
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs2
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