void Body::Dump() { s32 bodyIndex = m_islandIndex; printf("{\n"); printf(" BodyDef bd;\n"); printf(" bd.type = BodyType(%d);\n", m_type); printf(" bd.position.Set(%.15lef, %.15lef);\n", m_xf.p.x, m_xf.p.y); printf(" bd.angle = %.15lef;\n", m_sweep.a); printf(" bd.linearVelocity.Set(%.15lef, %.15lef);\n", m_linearVelocity.x, m_linearVelocity.y); printf(" bd.angularVelocity = %.15lef;\n", m_angularVelocity); printf(" bd.linearDamping = %.15lef;\n", m_linearDamping); printf(" bd.angularDamping = %.15lef;\n", m_angularDamping); printf(" bd.allowSleep = bool(%d);\n", m_flags & autoSleepFlag); printf(" bd.awake = bool(%d);\n", m_flags & awakeFlag); printf(" bd.fixedRotation = bool(%d);\n", m_flags & fixedRotationFlag); printf(" bd.bullet = bool(%d);\n", m_flags & bulletFlag); printf(" bd.active = bool(%d);\n", m_flags & activeFlag); printf(" bd.gravityScale = %.15lef;\n", m_gravityScale); printf(" bodies[%d] = m_world->CreateBody(&bd);\n", m_islandIndex); printf("\n"); for (Fixture* f = m_fixtureList; f; f = f->m_next) { printf(" {\n"); f->Dump(bodyIndex); printf(" }\n"); } printf("}\n"); }