diff --git a/src/Nazara/ChipmunkPhysics2D/ChipmunkRigidBody2D.cpp b/src/Nazara/ChipmunkPhysics2D/ChipmunkRigidBody2D.cpp index 729d53122..11cf3290f 100644 --- a/src/Nazara/ChipmunkPhysics2D/ChipmunkRigidBody2D.cpp +++ b/src/Nazara/ChipmunkPhysics2D/ChipmunkRigidBody2D.cpp @@ -303,8 +303,8 @@ namespace Nz if (cpBodyGetType(m_handle) == CP_BODY_TYPE_DYNAMIC) { - cpBodySetMass(m_handle, mass); - cpBodySetMoment(m_handle, moment); + cpBodySetMass(newHandle, mass); + cpBodySetMoment(newHandle, moment); } DestroyBody(); @@ -670,6 +670,8 @@ namespace Nz void ChipmunkRigidBody2D::CopyBodyData(cpBody* from, cpBody* to) { + cpBodySetType(to, cpBodyGetType(from)); + cpBodySetCenterOfGravity(to, cpBodyGetCenterOfGravity(from)); cpBodySetAngle(to, cpBodyGetAngle(from)); @@ -679,8 +681,6 @@ namespace Nz cpBodySetTorque(to, cpBodyGetTorque(from)); cpBodySetVelocity(to, cpBodyGetVelocity(from)); - cpBodySetType(to, cpBodyGetType(from)); - to->velocity_func = from->velocity_func; }