diff options
author | Robert Adams | 2012-10-05 15:33:17 -0700 |
---|---|---|
committer | Robert Adams | 2012-10-11 14:01:03 -0700 |
commit | 87825b0abee76c28dcffdaa2c532779b813b6d14 (patch) | |
tree | 1028e20a0c2cd8ddea9a60b0b013fa1db69daa74 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |
parent | Updated Robust.HG.ini.example. Thanks Austin Tate. (diff) | |
download | opensim-SC-87825b0abee76c28dcffdaa2c532779b813b6d14.zip opensim-SC-87825b0abee76c28dcffdaa2c532779b813b6d14.tar.gz opensim-SC-87825b0abee76c28dcffdaa2c532779b813b6d14.tar.bz2 opensim-SC-87825b0abee76c28dcffdaa2c532779b813b6d14.tar.xz |
BulletSim: Fix crash when linking large physical linksets.
Properly remove and restore linkage constraints when upgrading
a prim's mesh to a hull.
Lots more debug logging.
Definitions and use of Bullet structure dumping.
Centralize detail logging so a Flush() can be added for debugging.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index aaed7de..eed915d 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |||
@@ -254,7 +254,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters | |||
254 | 254 | ||
255 | // The bounding box for the simulated world. The origin is 0,0,0 unless we're | 255 | // The bounding box for the simulated world. The origin is 0,0,0 unless we're |
256 | // a child in a mega-region. | 256 | // a child in a mega-region. |
257 | // Turns out that Bullet really doesn't care about the extents of the simulated | 257 | // Bullet actually doesn't care about the extents of the simulated |
258 | // area. It tracks active objects no matter where they are. | 258 | // area. It tracks active objects no matter where they are. |
259 | Vector3 worldExtent = new Vector3(Constants.RegionSize, Constants.RegionSize, Constants.RegionHeight); | 259 | Vector3 worldExtent = new Vector3(Constants.RegionSize, Constants.RegionSize, Constants.RegionHeight); |
260 | 260 | ||
@@ -331,7 +331,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters | |||
331 | // Called directly from unmanaged code so don't do much | 331 | // Called directly from unmanaged code so don't do much |
332 | private void BulletLoggerPhysLog(string msg) | 332 | private void BulletLoggerPhysLog(string msg) |
333 | { | 333 | { |
334 | PhysicsLogging.Write("[BULLETS UNMANAGED]:" + msg); | 334 | DetailLog("[BULLETS UNMANAGED]:" + msg); |
335 | } | 335 | } |
336 | 336 | ||
337 | public override void Dispose() | 337 | public override void Dispose() |
@@ -494,8 +494,8 @@ public class BSScene : PhysicsScene, IPhysicsParameters | |||
494 | m_simulationStep++; | 494 | m_simulationStep++; |
495 | int numSubSteps = 0; | 495 | int numSubSteps = 0; |
496 | 496 | ||
497 | // Sometimes needed for debugging to find out what happened before the step | 497 | // DEBUG |
498 | // PhysicsLogging.Flush(); | 498 | DetailLog("{0},BSScene.Simulate,beforeStep,ntaimts={1},step={2}", DetailLogZero, numTaints, m_simulationStep); |
499 | 499 | ||
500 | try | 500 | try |
501 | { | 501 | { |
@@ -715,6 +715,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters | |||
715 | { | 715 | { |
716 | try | 716 | try |
717 | { | 717 | { |
718 | DetailLog("{0},BSScene.ProcessTaints,doTaint,id={1}", DetailLogZero, tcbe.ident); // DEBUG DEBUG DEBUG | ||
718 | tcbe.callback(); | 719 | tcbe.callback(); |
719 | } | 720 | } |
720 | catch (Exception e) | 721 | catch (Exception e) |
@@ -1270,6 +1271,8 @@ public class BSScene : PhysicsScene, IPhysicsParameters | |||
1270 | public void DetailLog(string msg, params Object[] args) | 1271 | public void DetailLog(string msg, params Object[] args) |
1271 | { | 1272 | { |
1272 | PhysicsLogging.Write(msg, args); | 1273 | PhysicsLogging.Write(msg, args); |
1274 | // Add the Flush() if debugging crashes to get all the messages written out. | ||
1275 | PhysicsLogging.Flush(); // DEBUG DEBUG DEBUG | ||
1273 | } | 1276 | } |
1274 | // used to fill in the LocalID when there isn't one | 1277 | // used to fill in the LocalID when there isn't one |
1275 | public const string DetailLogZero = "0000000000"; | 1278 | public const string DetailLogZero = "0000000000"; |