diff options
author | Robert Adams | 2012-10-19 10:48:45 -0700 |
---|---|---|
committer | Robert Adams | 2012-10-19 10:52:31 -0700 |
commit | f422b9b388fe67c61e610c79efabd5e07512884b (patch) | |
tree | 7ad1c226e8541742164e83cf18e8baf595061367 /OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | |
parent | BulletSim: change nonimal physics frame rate to 55 to give same numbers as ODE. (diff) | |
download | opensim-SC_OLD-f422b9b388fe67c61e610c79efabd5e07512884b.zip opensim-SC_OLD-f422b9b388fe67c61e610c79efabd5e07512884b.tar.gz opensim-SC_OLD-f422b9b388fe67c61e610c79efabd5e07512884b.tar.bz2 opensim-SC_OLD-f422b9b388fe67c61e610c79efabd5e07512884b.tar.xz |
BulletSim: reorder avatar collision checking to eliminate double collision_end.
Various tweekings to avatar shape/mass/inertia/etc.
Remove change from avatar radius to diameter. But still the avatar sinks.
Collision_end now happens immediately rather than at the next subscription time.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index b8ef338..202052d 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | |||
@@ -156,9 +156,11 @@ public abstract class BSPhysObject : PhysicsActor | |||
156 | public virtual bool SendCollisions() | 156 | public virtual bool SendCollisions() |
157 | { | 157 | { |
158 | bool ret = true; | 158 | bool ret = true; |
159 | // If the 'no collision' call, force it to happen right now so quick collision_end | ||
160 | bool force = CollisionCollection.Count == 0; | ||
159 | 161 | ||
160 | // throttle the collisions to the number of milliseconds specified in the subscription | 162 | // throttle the collisions to the number of milliseconds specified in the subscription |
161 | if (PhysicsScene.SimulationNowTime >= NextCollisionOkTime) | 163 | if (force || (PhysicsScene.SimulationNowTime >= NextCollisionOkTime)) |
162 | { | 164 | { |
163 | NextCollisionOkTime = PhysicsScene.SimulationNowTime + SubscribedEventsMs; | 165 | NextCollisionOkTime = PhysicsScene.SimulationNowTime + SubscribedEventsMs; |
164 | 166 | ||