static cpBody *push_cpBody (lua_State *L) { cpBody *b = cpBodyAlloc(); cpBody **pb = (cpBody **)lua_newuserdata(L, sizeof(cpBody*)); *pb = b; luaL_getmetatable(L, "cpBody"); lua_setmetatable(L, -2); lua_pushliteral(L, "cpBody_ptrs"); lua_rawget(L, LUA_REGISTRYINDEX); /* cpBody_ptrs.body_ptr = userdata */ lua_pushlightuserdata(L, b); lua_pushvalue(L, -3); lua_rawset(L, -3); lua_pop(L, 1); return b; }
cpBody* cpBodyNew(cpFloat m, cpFloat i) { return cpBodyInit(cpBodyAlloc(), m, i); }
cpBody * cpBodyNewStatic() { return cpBodyInitStatic(cpBodyAlloc()); }