diff options
author | Robert Adams | 2012-09-27 08:23:29 -0700 |
---|---|---|
committer | Robert Adams | 2012-09-27 22:01:52 -0700 |
commit | f82b903deeaaf8eaa7ae5c4d4b7e917dd0a6ce7b (patch) | |
tree | 3d355254a7bcb8c447fbfef901784af7062763d4 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |
parent | BulletSim: Terrain sets proper collision flags on creation. (diff) | |
download | opensim-SC-f82b903deeaaf8eaa7ae5c4d4b7e917dd0a6ce7b.zip opensim-SC-f82b903deeaaf8eaa7ae5c4d4b7e917dd0a6ce7b.tar.gz opensim-SC-f82b903deeaaf8eaa7ae5c4d4b7e917dd0a6ce7b.tar.bz2 opensim-SC-f82b903deeaaf8eaa7ae5c4d4b7e917dd0a6ce7b.tar.xz |
BulletSim: Fix linkset crash. Caused by the different body and shape
pointers at runtime and at taint-time. Now passes the body into the
taint.
Vehicles zero inertia when active to eliminate Bullet's contribution
to vehicle motion.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSScene.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index e8c628c..44a249c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |||
@@ -544,12 +544,15 @@ public class BSScene : PhysicsScene, IPhysicsParameters | |||
544 | 544 | ||
545 | // The above SendCollision's batch up the collisions on the objects. | 545 | // The above SendCollision's batch up the collisions on the objects. |
546 | // Now push the collisions into the simulator. | 546 | // Now push the collisions into the simulator. |
547 | // If the object is done colliding, it will add itself to the ObjectsWithNoMoreCollisions list. | ||
548 | if (ObjectsWithCollisions.Count > 0) | 547 | if (ObjectsWithCollisions.Count > 0) |
549 | { | 548 | { |
550 | foreach (BSPhysObject bsp in ObjectsWithCollisions) | 549 | foreach (BSPhysObject bsp in ObjectsWithCollisions) |
551 | if (!m_avatars.Contains(bsp)) // don't call avatars twice | 550 | if (!m_avatars.Contains(bsp)) // don't call avatars twice |
552 | bsp.SendCollisions(); | 551 | if (!bsp.SendCollisions()) |
552 | { | ||
553 | // If the object is done colliding, see that it's removed from the colliding list | ||
554 | ObjectsWithNoMoreCollisions.Add(bsp); | ||
555 | } | ||
553 | } | 556 | } |
554 | 557 | ||
555 | // Objects that are done colliding are removed from the ObjectsWithCollisions list. | 558 | // Objects that are done colliding are removed from the ObjectsWithCollisions list. |