From 210f227fe69138f736e3d37e5bfbacd10e967922 Mon Sep 17 00:00:00 2001
From: Robert Adams
Date: Tue, 2 Oct 2012 11:11:22 -0700
Subject: BulletSim: Make parameter value defaults match what should be the
 default and what is in OpenSimDefaults.ini. Comment and debug printout
 changes.

---
 OpenSim/Region/Physics/BulletSPlugin/BSScene.cs    | 26 +++++++++++-----------
 .../Region/Physics/BulletSPlugin/BulletSimAPI.cs   |  2 +-
 2 files changed, 14 insertions(+), 14 deletions(-)

(limited to 'OpenSim')

diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
index 0cf8c91..aaed7de 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
@@ -493,6 +493,10 @@ public class BSScene : PhysicsScene, IPhysicsParameters
         // step the physical world one interval
         m_simulationStep++;
         int numSubSteps = 0;
+
+        // Sometimes needed for debugging to find out what happened before the step
+        // PhysicsLogging.Flush();
+
         try
         {
             if (PhysicsLogging.Enabled) beforeTime = Util.EnvironmentTickCount();
@@ -536,7 +540,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
         }
 
         // This is a kludge to get avatar movement updates.
-        //   ODE sends collisions for avatars even if there are have been no collisions. This updates
+        //   the simulator expects collisions for avatars even if there are have been no collisions. This updates
         //   avatar animations and stuff.
         // If you fix avatar animation updates, remove this overhead and let normal collision processing happen.
         foreach (BSPhysObject bsp in m_avatars)
@@ -556,7 +560,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
         }
 
         // Objects that are done colliding are removed from the ObjectsWithCollisions list.
-        // This can't be done by SendCollisions because it is inside an iteration of ObjectWithCollisions.
+        // Not done above because it is inside an iteration of ObjectWithCollisions.
         if (ObjectsWithNoMoreCollisions.Count > 0)
         {
             foreach (BSPhysObject po in ObjectsWithNoMoreCollisions)
@@ -726,13 +730,10 @@ public class BSScene : PhysicsScene, IPhysicsParameters
 
     public void VehicleInSceneTypeChanged(BSPrim vehic, Vehicle newType)
     {
-        if (newType == Vehicle.TYPE_NONE)
-        {
-            RemoveVehiclePrim(vehic);
-        }
-        else
+        RemoveVehiclePrim(vehic);
+        if (newType != Vehicle.TYPE_NONE)
         {
-            // make it so the scene will call us each tick to do vehicle things
+           // make it so the scene will call us each tick to do vehicle things
            AddVehiclePrim(vehic);
         }
     }
@@ -764,7 +765,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
     }
 
     // Some prims have extra vehicle actions
-    // no locking because only called when physics engine is not busy
+    // Called at taint time!
     private void ProcessVehicles(float timeStep)
     {
         foreach (BSPhysObject pobj in m_vehicles)
@@ -1008,12 +1009,12 @@ public class BSScene : PhysicsScene, IPhysicsParameters
 
 
 	    new ParameterDefn("MaxPersistantManifoldPoolSize", "Number of manifolds pooled (0 means default of 4096)",
-            0f,     // zero to disable
+            0f,
             (s,cf,p,v) => { s.m_params[0].maxPersistantManifoldPoolSize = cf.GetFloat(p, v); },
             (s) => { return s.m_params[0].maxPersistantManifoldPoolSize; },
             (s,p,l,v) => { s.m_params[0].maxPersistantManifoldPoolSize = v; } ),
 	    new ParameterDefn("MaxCollisionAlgorithmPoolSize", "Number of collisions pooled (0 means default of 4096)",
-            0f,     // zero to disable
+            0f,
             (s,cf,p,v) => { s.m_params[0].maxCollisionAlgorithmPoolSize = cf.GetFloat(p, v); },
             (s) => { return s.m_params[0].maxCollisionAlgorithmPoolSize; },
             (s,p,l,v) => { s.m_params[0].maxCollisionAlgorithmPoolSize = v; } ),
@@ -1028,7 +1029,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
             (s) => { return s.m_params[0].shouldForceUpdateAllAabbs; },
             (s,p,l,v) => { s.m_params[0].shouldForceUpdateAllAabbs = v; } ),
 	    new ParameterDefn("ShouldRandomizeSolverOrder", "Enable for slightly better stacking interaction",
-            ConfigurationParameters.numericFalse,
+            ConfigurationParameters.numericTrue,
             (s,cf,p,v) => { s.m_params[0].shouldRandomizeSolverOrder = s.NumericBool(cf.GetBoolean(p, s.BoolNumeric(v))); },
             (s) => { return s.m_params[0].shouldRandomizeSolverOrder; },
             (s,p,l,v) => { s.m_params[0].shouldRandomizeSolverOrder = v; } ),
@@ -1152,7 +1153,6 @@ public class BSScene : PhysicsScene, IPhysicsParameters
     {
         if (SettableParameters.Length < ParameterDefinitions.Length)
         {
-
             List<PhysParameterEntry> entries = new List<PhysParameterEntry>();
             for (int ii = 0; ii < ParameterDefinitions.Length; ii++)
             {
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs
index d49e5f3..a43880d 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs
@@ -71,7 +71,7 @@ public struct BulletBody
         buff.Append(ID.ToString());
         buff.Append(",p=");
         buff.Append(ptr.ToString("X"));
-        if (collisionFilter != 0 && collisionMask != 0)
+        if (collisionFilter != 0 || collisionMask != 0)
         {
             buff.Append(",f=");
             buff.Append(collisionFilter.ToString("X"));
-- 
cgit v1.1