Code: Select all
const char* btCollisionObject::serialize(void* dataBuffer, btSerializer* serializer) const
dataOut->m_activationState1 = m_activationState1;
dataOut->m_activationState1 = m_activationState1;
This is the latest version of Bullet.
Now for what I think is a more serious issue. This has to do with the setting of deactivation times.
In btCollisionObject.cpp we have:
Code: Select all
void setDeactivationTime(btScalar time)
{
m_deactivationTime = time;
}
Code: Select all
SIMD_FORCE_INLINE void updateDeactivation(btScalar timeStep)
{
if ( (getActivationState() == ISLAND_SLEEPING) || (getActivationState() == DISABLE_DEACTIVATION))
return;
if ((getLinearVelocity().length2() < m_linearSleepingThreshold*m_linearSleepingThreshold) &&
(getAngularVelocity().length2() < m_angularSleepingThreshold*m_angularSleepingThreshold))
{
m_deactivationTime += timeStep;
} else
{
m_deactivationTime=btScalar(0.);
setActivationState(0);
}
}
Code: Select all
SIMD_FORCE_INLINE bool wantsSleeping()
{
if (getActivationState() == DISABLE_DEACTIVATION)
return false;
//disable deactivation
if (gDisableDeactivation || (gDeactivationTime == btScalar(0.)))
return false;
if ( (getActivationState() == ISLAND_SLEEPING) || (getActivationState() == WANTS_DEACTIVATION))
return true;
if (m_deactivationTime> gDeactivationTime)
{
return true;
}
return false;
}
Thanks for any help anyone can give me