Fixing serialization issues introduced in previous commits:
0 maps to 0 (for getUniquePointer) use getUniquePointer for names too
This commit is contained in:
@@ -89,10 +89,12 @@ const char* btCollisionObject::serialize(void* dataBuffer, btSerializer* seriali
|
|||||||
dataOut->m_friction = m_friction;
|
dataOut->m_friction = m_friction;
|
||||||
dataOut->m_restitution = m_restitution;
|
dataOut->m_restitution = m_restitution;
|
||||||
dataOut->m_internalType = m_internalType;
|
dataOut->m_internalType = m_internalType;
|
||||||
dataOut->m_name = (char*) serializer->findNameForPointer(this);
|
|
||||||
|
char* name = (char*) serializer->findNameForPointer(this);
|
||||||
|
dataOut->m_name = (char*)serializer->getUniquePointer(name);
|
||||||
if (dataOut->m_name)
|
if (dataOut->m_name)
|
||||||
{
|
{
|
||||||
serializer->serializeName(dataOut->m_name);
|
serializer->serializeName(name);
|
||||||
}
|
}
|
||||||
dataOut->m_hitFraction = m_hitFraction;
|
dataOut->m_hitFraction = m_hitFraction;
|
||||||
dataOut->m_ccdSweptSphereRadius = m_ccdSweptSphereRadius;
|
dataOut->m_ccdSweptSphereRadius = m_ccdSweptSphereRadius;
|
||||||
|
|||||||
@@ -99,10 +99,11 @@ void btCollisionShape::calculateTemporalAabb(const btTransform& curTrans,const b
|
|||||||
const char* btCollisionShape::serialize(void* dataBuffer, btSerializer* serializer) const
|
const char* btCollisionShape::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||||
{
|
{
|
||||||
btCollisionShapeData* shapeData = (btCollisionShapeData*) dataBuffer;
|
btCollisionShapeData* shapeData = (btCollisionShapeData*) dataBuffer;
|
||||||
shapeData->m_name = (char*) serializer->findNameForPointer(this);
|
char* name = (char*) serializer->findNameForPointer(this);
|
||||||
|
shapeData->m_name = (char*)serializer->getUniquePointer(name);
|
||||||
if (shapeData->m_name)
|
if (shapeData->m_name)
|
||||||
{
|
{
|
||||||
serializer->serializeName(shapeData->m_name);
|
serializer->serializeName(name);
|
||||||
}
|
}
|
||||||
shapeData->m_shapeType = m_shapeType;
|
shapeData->m_shapeType = m_shapeType;
|
||||||
//shapeData->m_padding//??
|
//shapeData->m_padding//??
|
||||||
|
|||||||
@@ -105,10 +105,11 @@ const char* btTypedConstraint::serialize(void* dataBuffer, btSerializer* seriali
|
|||||||
|
|
||||||
tcd->m_rbA = (btRigidBodyData*)serializer->getUniquePointer(&m_rbA);
|
tcd->m_rbA = (btRigidBodyData*)serializer->getUniquePointer(&m_rbA);
|
||||||
tcd->m_rbB = (btRigidBodyData*)serializer->getUniquePointer(&m_rbB);
|
tcd->m_rbB = (btRigidBodyData*)serializer->getUniquePointer(&m_rbB);
|
||||||
tcd->m_name = (char*) serializer->findNameForPointer(this);
|
char* name = (char*) serializer->findNameForPointer(this);
|
||||||
|
tcd->m_name = (char*)serializer->getUniquePointer(name);
|
||||||
if (tcd->m_name)
|
if (tcd->m_name)
|
||||||
{
|
{
|
||||||
serializer->serializeName(tcd->m_name);
|
serializer->serializeName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
tcd->m_objectType = m_objectType;
|
tcd->m_objectType = m_objectType;
|
||||||
|
|||||||
@@ -473,6 +473,9 @@ public:
|
|||||||
|
|
||||||
virtual void* getUniquePointer(void*oldPtr)
|
virtual void* getUniquePointer(void*oldPtr)
|
||||||
{
|
{
|
||||||
|
if (!oldPtr)
|
||||||
|
return 0;
|
||||||
|
|
||||||
btPointerUid* uptr = (btPointerUid*)m_uniquePointers.find(oldPtr);
|
btPointerUid* uptr = (btPointerUid*)m_uniquePointers.find(oldPtr);
|
||||||
if (uptr)
|
if (uptr)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user