diff options
| author | Alexander Pickering <alex@cogarr.net> | 2018-11-07 14:49:35 -0500 |
|---|---|---|
| committer | Alexander Pickering <alex@cogarr.net> | 2018-11-07 14:50:58 -0500 |
| commit | 2009501214f3c2e3f8d8b1a06432afdf39276bd5 (patch) | |
| tree | c6c091a4b6f3f714657930cda4fd485ee1dd3d95 /src/shared/lua_api/phys/bhingeconstraint.cpp | |
| parent | 112517494847f0c86f58544cbf4c35c9b7712ab1 (diff) | |
| download | brokengine-2009501214f3c2e3f8d8b1a06432afdf39276bd5.tar.gz brokengine-2009501214f3c2e3f8d8b1a06432afdf39276bd5.tar.bz2 brokengine-2009501214f3c2e3f8d8b1a06432afdf39276bd5.zip | |
Added Kinematic Character Controllers
Diffstat (limited to 'src/shared/lua_api/phys/bhingeconstraint.cpp')
| -rw-r--r-- | src/shared/lua_api/phys/bhingeconstraint.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/shared/lua_api/phys/bhingeconstraint.cpp b/src/shared/lua_api/phys/bhingeconstraint.cpp index 168d1b6..ab6fb50 100644 --- a/src/shared/lua_api/phys/bhingeconstraint.cpp +++ b/src/shared/lua_api/phys/bhingeconstraint.cpp @@ -7,6 +7,7 @@ extern "C" { #include <lauxlib.h> #include <lualib.h> } +#include <shared/lua_api/common.hpp> #include <Irrlicht.h> #include <btBulletDynamicsCommon.h> #include <shared/lua_api/phys/bhingeconstraint.hpp> @@ -19,7 +20,23 @@ using namespace video; extern btDiscreteDynamicsWorld* World; extern std::list<btRigidBody*> Objects; +//newhingeconstraint(phys1,v3 axis, refrencephys1) int newbhingeconstraint(lua_State *L){ + bool phys1 = lua_toboolean(L,-1) == 1; + lua_pop(L,1); + + double x,y,z; + popvector3d(L,&x,&y,&z); + + lua_getfield(L,-1,"rigidbody"); + btRigidBody *p1 = (btRigidBody*)lua_touserdata(L,-1); + btTransform frame = p1->getCenterOfMassTransform(); + frame.setRotation(btQuaternion(x,y,z,0)); + lua_pop(L,2); + + btHingeConstraint(*p1,frame,phys1); + printf("Done makeing new hinge constraint\n"); + return 0; } |
