diff options
Diffstat (limited to 'src/client/lua_api/phys/cbphysbox.cpp')
| -rw-r--r-- | src/client/lua_api/phys/cbphysbox.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/client/lua_api/phys/cbphysbox.cpp b/src/client/lua_api/phys/cbphysbox.cpp index 86deacf..c5aacd8 100644 --- a/src/client/lua_api/phys/cbphysbox.cpp +++ b/src/client/lua_api/phys/cbphysbox.cpp @@ -13,6 +13,7 @@ extern "C" { #include "cbphysbox.hpp" #include "../scene/imesh.hpp" #include <shared/lua_api/phys/bphysbox.hpp> +#include <shared/lua_api/phys/bcollider.hpp> #include "../scene/igeneric.hpp" #include <shared/lua_api/common.hpp> @@ -56,7 +57,7 @@ static int newcbphysbox(lua_State* L){// lua_newtable(L);//{} lua_pushlightuserdata(L,r);//{},ud_rigidbody - lua_setfield(L,-2,"rigidbody");//{} + lua_setfield(L,-2,"collider");//{} lua_pushlightuserdata(L,n);//{},ud_iscenenode lua_setfield(L,-2,"node");//{} @@ -73,7 +74,7 @@ int cbphyssetpos(lua_State* L){//{rigidbody=ud_btRigidbody,node=ud_iscenenode},{ popvector3d(L,&x,&y,&z);//{rigidbody=ud_btRigidbody,node=ud_iscenenode} //printf("Getting rigidbody\n"); - lua_getfield(L,-1,"rigidbody");//{rigidbody=ud_btRigidbody,node=ud_iscenenode},ud_btRigidbody + lua_getfield(L,-1,"collider");//{rigidbody=ud_btRigidbody,node=ud_iscenenode},ud_btRigidbody btRigidBody* r = (btRigidBody*)lua_touserdata(L,-1);//{rigidbody=ud_btRigidbody,node=ud_iscenenode},ud_btRigidbody //printf("Got rigidbody, it was %p\n",r); lua_pop(L,1);//{rigidbody=ud_btRigidbody,node=ud_iscenenode} @@ -99,7 +100,7 @@ int cbphyssetpos(lua_State* L){//{rigidbody=ud_btRigidbody,node=ud_iscenenode},{ //bphysbox:getpos() int cbphysgetpos(lua_State* L){//{rigidbody=ud_btRigidbody,node=ud_iscenenode} //printf("cphysgetpos called, stack size is %d\n",lua_gettop(L)); - lua_getfield(L,-1,"rigidbody");//{rigidbody=ud_btRigidbody,node=ud_iscenenode}, ud_rigidbody + lua_getfield(L,-1,"collider");//{rigidbody=ud_btRigidbody,node=ud_iscenenode}, ud_rigidbody btRigidBody* r = (btRigidBody*) lua_touserdata(L,-1); lua_pop(L,2); btTransform bt = r->getCenterOfMassTransform(); @@ -109,7 +110,7 @@ int cbphysgetpos(lua_State* L){//{rigidbody=ud_btRigidbody,node=ud_iscenenode} } int cbphysgetgravity(lua_State* L){ - lua_getfield(L,-1,"rigidbody");//{rigidbody=ud_btRigidbody,node=ud_iscenenode}, ud_rigidbody + lua_getfield(L,-1,"collider");//{rigidbody=ud_btRigidbody,node=ud_iscenenode}, ud_rigidbody btRigidBody* r = (btRigidBody*) lua_touserdata(L,-1); lua_pop(L,2); btVector3 p = r->getGravity(); @@ -118,7 +119,7 @@ int cbphysgetgravity(lua_State* L){ } int cbphysapplygravity(lua_State* L){ - lua_getfield(L,-1,"rigidbody");//{rigidbody=ud_btRigidbody,node=ud_iscenenode}, ud_rigidbody + lua_getfield(L,-1,"collider");//{rigidbody=ud_btRigidbody,node=ud_iscenenode}, ud_rigidbody btRigidBody* r = (btRigidBody*) lua_touserdata(L,-1); lua_pop(L,2); r->applyGravity(); @@ -148,10 +149,6 @@ int cbsetmaterial(lua_State* L){ static const luaL_reg cbphysbox_m[] = { {"setpos", cbphyssetpos},//overload {"getpos", cbphysgetpos}, - //{"getgravity", cbphysgetgravity}, - //{"applygravity",cbphysapplygravity}, - //{"setMaterial", cbsetmaterial}, -// {"delete", delbphysbox},//client side delete needs to delete the visual representation {0, 0}, }; @@ -165,9 +162,12 @@ void cbphysbox_register(lua_State* L){ luaL_getmetatable(L,"phys.physbox");//phys.physbox lua_newtable(L);//phys.physbox,{} + luaL_register(L,NULL,bcollider_m); luaL_register(L,NULL,brigidbody_m); luaL_register(L,NULL,igeneric_m); luaL_register(L,NULL,cbphysbox_m);//phys.physbox,{} + lua_pushstring(L,"rigidbody"); + lua_setfield(L,-2,"type"); lua_setfield(L,-2,"__index");//phys.physbox lua_pop(L,1); |
