Fixes for broadphase/paircache determinism.
Revert definition for ATTRIBUTE_ALIGNED16, and try to force sizeof(btSolverConstraint) by using unions with btScalar, for non-btScalar data types. Use btAssert and not assert. Don't access btAlignedObjectArray elements, for zero sets
This commit is contained in:
@@ -110,16 +110,16 @@ void plDeleteDynamicsWorld(plDynamicsWorldHandle world)
|
||||
void plStepSimulation(plDynamicsWorldHandle world, plReal timeStep)
|
||||
{
|
||||
btDynamicsWorld* dynamicsWorld = reinterpret_cast< btDynamicsWorld* >(world);
|
||||
assert(dynamicsWorld);
|
||||
btAssert(dynamicsWorld);
|
||||
dynamicsWorld->stepSimulation(timeStep);
|
||||
}
|
||||
|
||||
void plAddRigidBody(plDynamicsWorldHandle world, plRigidBodyHandle object)
|
||||
{
|
||||
btDynamicsWorld* dynamicsWorld = reinterpret_cast< btDynamicsWorld* >(world);
|
||||
assert(dynamicsWorld);
|
||||
btAssert(dynamicsWorld);
|
||||
btRigidBody* body = reinterpret_cast< btRigidBody* >(object);
|
||||
assert(body);
|
||||
btAssert(body);
|
||||
|
||||
dynamicsWorld->addRigidBody(body);
|
||||
}
|
||||
@@ -127,9 +127,9 @@ void plAddRigidBody(plDynamicsWorldHandle world, plRigidBodyHandle object)
|
||||
void plRemoveRigidBody(plDynamicsWorldHandle world, plRigidBodyHandle object)
|
||||
{
|
||||
btDynamicsWorld* dynamicsWorld = reinterpret_cast< btDynamicsWorld* >(world);
|
||||
assert(dynamicsWorld);
|
||||
btAssert(dynamicsWorld);
|
||||
btRigidBody* body = reinterpret_cast< btRigidBody* >(object);
|
||||
assert(body);
|
||||
btAssert(body);
|
||||
|
||||
dynamicsWorld->removeRigidBody(body);
|
||||
}
|
||||
@@ -142,7 +142,7 @@ plRigidBodyHandle plCreateRigidBody( void* user_data, float mass, plCollisionSh
|
||||
trans.setIdentity();
|
||||
btVector3 localInertia(0,0,0);
|
||||
btCollisionShape* shape = reinterpret_cast<btCollisionShape*>( cshape);
|
||||
assert(shape);
|
||||
btAssert(shape);
|
||||
if (mass)
|
||||
{
|
||||
shape->calculateLocalInertia(mass,localInertia);
|
||||
@@ -158,7 +158,7 @@ plRigidBodyHandle plCreateRigidBody( void* user_data, float mass, plCollisionSh
|
||||
void plDeleteRigidBody(plRigidBodyHandle cbody)
|
||||
{
|
||||
btRigidBody* body = reinterpret_cast< btRigidBody* >(cbody);
|
||||
assert(body);
|
||||
btAssert(body);
|
||||
btAlignedFree( body);
|
||||
}
|
||||
|
||||
@@ -262,13 +262,13 @@ void plAddVertex(plCollisionShapeHandle cshape, plReal x,plReal y,plReal z)
|
||||
void plDeleteShape(plCollisionShapeHandle cshape)
|
||||
{
|
||||
btCollisionShape* shape = reinterpret_cast<btCollisionShape*>( cshape);
|
||||
assert(shape);
|
||||
btAssert(shape);
|
||||
btAlignedFree(shape);
|
||||
}
|
||||
void plSetScaling(plCollisionShapeHandle cshape, plVector3 cscaling)
|
||||
{
|
||||
btCollisionShape* shape = reinterpret_cast<btCollisionShape*>( cshape);
|
||||
assert(shape);
|
||||
btAssert(shape);
|
||||
btVector3 scaling(cscaling[0],cscaling[1],cscaling[2]);
|
||||
shape->setLocalScaling(scaling);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user