aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-10-22 01:52:12 +0000
committerTeravus Ovares2008-10-22 01:52:12 +0000
commitdfc12d591c0a23a189826db482bb9215018a61ec (patch)
treea5fa2dfcf104ca3acb48d2df2b63c73e2c3f7428 /OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
parentPare the groups module down to basics. Adjust dependent files so that a (diff)
downloadopensim-SC-dfc12d591c0a23a189826db482bb9215018a61ec.zip
opensim-SC-dfc12d591c0a23a189826db482bb9215018a61ec.tar.gz
opensim-SC-dfc12d591c0a23a189826db482bb9215018a61ec.tar.bz2
opensim-SC-dfc12d591c0a23a189826db482bb9215018a61ec.tar.xz
* Add a config option for filtering collisions. Sometimes, under load, this seems to cause bouncing on really thin flat prim.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/OdePlugin.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs5
1 files changed, 5 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index 04d2ea9..a782e2d 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -195,6 +195,7 @@ namespace OpenSim.Region.Physics.OdePlugin
195 private float[] _heightmap; 195 private float[] _heightmap;
196 196
197 private float[] _watermap; 197 private float[] _watermap;
198 private bool m_filterCollisions = true;
198 199
199 // private float[] _origheightmap; 200 // private float[] _origheightmap;
200 201
@@ -360,6 +361,7 @@ namespace OpenSim.Region.Physics.OdePlugin
360 meshSculptedPrim = physicsconfig.GetBoolean("mesh_sculpted_prim", true); 361 meshSculptedPrim = physicsconfig.GetBoolean("mesh_sculpted_prim", true);
361 meshSculptLOD = physicsconfig.GetFloat("mesh_lod", 32f); 362 meshSculptLOD = physicsconfig.GetFloat("mesh_lod", 32f);
362 MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f); 363 MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f);
364 m_filterCollisions = physicsconfig.GetBoolean("filter_collisions", true);
363 365
364 if (Environment.OSVersion.Platform == PlatformID.Unix) 366 if (Environment.OSVersion.Platform == PlatformID.Unix)
365 { 367 {
@@ -847,6 +849,9 @@ namespace OpenSim.Region.Physics.OdePlugin
847 { 849 {
848 bool result = false; 850 bool result = false;
849 //return result; 851 //return result;
852 if (!m_filterCollisions)
853 return false;
854
850 ActorTypes at = (ActorTypes)atype; 855 ActorTypes at = (ActorTypes)atype;
851 lock (_perloopContact) 856 lock (_perloopContact)
852 { 857 {