aboutsummaryrefslogtreecommitdiff
path: root/src/client/lua_api/phys/cbphysbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/lua_api/phys/cbphysbox.cpp')
-rw-r--r--src/client/lua_api/phys/cbphysbox.cpp18
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);