We just upgraded from v2.75 RC3 to the release version and ran into an issue with gContactAddedCallback:
Between RC3 and release, a change was made in btManifoldResult.cpp which breaks the partId and index parameters for gContactAddedCallback when obj0 and obj1 are swapped. The RC3 version handled the swap in the two lines preceding the gContactAddedCallback call. The final version now also handles the swap a few lines above, resulting in a doubly-swapped call (if that makes sense ).
The fix was to replace
Code: Select all
(*gContactAddedCallback)(m_manifoldPtr->getContactPoint(insertIndex),obj0,newPt.m_partId0,newPt.m_index0,obj1,newPt.m_partId1,newPt.m_index1);
Code: Select all
(*gContactAddedCallback)(m_manifoldPtr->getContactPoint(insertIndex),obj0,m_partId0,m_index0,obj1,m_partId1,m_index1);
Vector Unit Inc