mirror of https://github.com/bjornbytes/lovr.git
Body:isKinematic; Body:setKinematic;
This commit is contained in:
parent
8a0f37a0ae
commit
f672fe77cd
|
@ -140,6 +140,19 @@ int l_lovrBodyApplyTorque(lua_State* L) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int l_lovrBodyIsKinematic(lua_State* L) {
|
||||||
|
Body* body = luax_checktype(L, 1, Body);
|
||||||
|
lua_pushboolean(L, lovrBodyIsKinematic(body));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int l_lovrBodySetKinematic(lua_State* L) {
|
||||||
|
Body* body = luax_checktype(L, 1, Body);
|
||||||
|
int kinematic = lua_toboolean(L, 2);
|
||||||
|
lovrBodySetKinematic(body, kinematic);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
const luaL_Reg lovrBody[] = {
|
const luaL_Reg lovrBody[] = {
|
||||||
{ "getPosition", l_lovrBodyGetPosition },
|
{ "getPosition", l_lovrBodyGetPosition },
|
||||||
{ "setPosition", l_lovrBodySetPosition },
|
{ "setPosition", l_lovrBodySetPosition },
|
||||||
|
@ -155,5 +168,7 @@ const luaL_Reg lovrBody[] = {
|
||||||
{ "setAngularDamping", l_lovrBodySetAngularDamping },
|
{ "setAngularDamping", l_lovrBodySetAngularDamping },
|
||||||
{ "applyForce", l_lovrBodyApplyForce },
|
{ "applyForce", l_lovrBodyApplyForce },
|
||||||
{ "applyTorque", l_lovrBodyApplyForce },
|
{ "applyTorque", l_lovrBodyApplyForce },
|
||||||
|
{ "isKinematic", l_lovrBodyIsKinematic },
|
||||||
|
{ "setKinematic", l_lovrBodySetKinematic },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
|
@ -172,3 +172,15 @@ void lovrBodyApplyForceAtPosition(Body* body, float x, float y, float z, float c
|
||||||
void lovrBodyApplyTorque(Body* body, float x, float y, float z) {
|
void lovrBodyApplyTorque(Body* body, float x, float y, float z) {
|
||||||
dBodyAddTorque(body->id, x, y, z);
|
dBodyAddTorque(body->id, x, y, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int lovrBodyIsKinematic(Body* body) {
|
||||||
|
return dBodyIsKinematic(body->id);
|
||||||
|
}
|
||||||
|
|
||||||
|
void lovrBodySetKinematic(Body* body, int kinematic) {
|
||||||
|
if (kinematic) {
|
||||||
|
dBodySetKinematic(body->id);
|
||||||
|
} else {
|
||||||
|
dBodySetDynamic(body->id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -44,3 +44,5 @@ void lovrBodySetAngularDamping(Body* body, float damping, float threshold);
|
||||||
void lovrBodyApplyForce(Body* body, float x, float y, float z);
|
void lovrBodyApplyForce(Body* body, float x, float y, float z);
|
||||||
void lovrBodyApplyForceAtPosition(Body* body, float x, float y, float z, float cx, float cy, float cz);
|
void lovrBodyApplyForceAtPosition(Body* body, float x, float y, float z, float cx, float cy, float cz);
|
||||||
void lovrBodyApplyTorque(Body* body, float x, float y, float z);
|
void lovrBodyApplyTorque(Body* body, float x, float y, float z);
|
||||||
|
int lovrBodyIsKinematic(Body* body);
|
||||||
|
void lovrBodySetKinematic(Body* body, int kinematic);
|
||||||
|
|
Loading…
Reference in New Issue