aboutsummaryrefslogtreecommitdiff
path: root/src/server/lua_api/phys/sbphysmodel.cpp
diff options
context:
space:
mode:
authorAlexander <alex@cogarr.net>2019-04-24 21:16:08 -0400
committerAlexander <alex@cogarr.net>2019-04-24 21:16:08 -0400
commit3d60e1432ec43ade4aa61b5a70dd6b8975417e9f (patch)
tree954719a0f4a27fe42f9d8113844a21b79ae70f5d /src/server/lua_api/phys/sbphysmodel.cpp
parent42bedce123739287339a95626675ffda3a1ce8e7 (diff)
downloadbrokengine-3d60e1432ec43ade4aa61b5a70dd6b8975417e9f.tar.gz
brokengine-3d60e1432ec43ade4aa61b5a70dd6b8975417e9f.tar.bz2
brokengine-3d60e1432ec43ade4aa61b5a70dd6b8975417e9f.zip
updates
Diffstat (limited to 'src/server/lua_api/phys/sbphysmodel.cpp')
-rw-r--r--src/server/lua_api/phys/sbphysmodel.cpp126
1 files changed, 126 insertions, 0 deletions
diff --git a/src/server/lua_api/phys/sbphysmodel.cpp b/src/server/lua_api/phys/sbphysmodel.cpp
new file mode 100644
index 0000000..4d81b2c
--- /dev/null
+++ b/src/server/lua_api/phys/sbphysmodel.cpp
@@ -0,0 +1,126 @@
+//#include <stdio.h>
+//#include <stdlib.h>
+//#include <vector>
+//#include <memory>
+//#include <map>
+//#include <functional>
+//#include <list>
+//extern "C" {
+ //#include <lua.h>
+ //#include <lauxlib.h>
+ //#include <lualib.h>
+//}
+//#include <btBulletDynamicsCommon.h>
+//#include <irrlicht.h>
+//#include "../gameparts.hpp"
+//#include "cbphysbox.hpp"
+//#include "cbphysmodel.hpp"
+//#include <client/lua_api/scene/igeneric.hpp>
+//#include <shared/lua_api/phys/bphysmodel.hpp>
+//#include <shared/lua_api/phys/bcollider.hpp>
+//#include <shared/lua_api/common.hpp>
+
+
+//using namespace irr;
+//using namespace scene;
+//using namespace core;
+//using namespace video;
+
+//extern IrrlichtDevice* device;
+
+//extern btDiscreteDynamicsWorld* World;
+//extern std::list<btRigidBody*> Objects;
+
+////newbphysmodel("graphicfile","physicfile",mass,[,{position}][,{lookat}])
+//static int newbphysmodel(lua_State* L){
+ //printf("Creating bphysmodel\n");
+ //int nargs = lua_gettop(L);
+ //double lx,ly,lz;
+ //double x,y,z;
+ //if(nargs > 4){
+ ////"graphicsfile","physicsfile",{position},{lookat}
+ //popvector3d(L,&lx,&ly,&lz);
+ //}else{
+ //lx = 1; ly = 1; lz = 1;
+ //}
+
+ //if(nargs > 3){
+ ////"graphicsfile","physicsfile",{position}
+ //popvector3d(L,&x,&y,&z);
+ //}else{
+ //x = 0; y = 0; z = 0;
+ //}
+ ////"graphicsfile","physicsfile",mass
+
+ //double mass = lua_tonumber(L,-1);
+ //const char *ppath = lua_tostring(L,-2);
+ //const char *gpath = lua_tostring(L,-3);
+ //lua_pop(L,3);//
+
+ //ISceneManager *smgr = device->getSceneManager();
+
+ //printf("bphysnode, creating the scene node\n");
+
+ ////Create the scene node
+ //IMesh *gmesh = smgr->getMesh(gpath);
+ //ISceneNode *node = smgr->addMeshSceneNode(gmesh,0,-1,vector3df(x,y,z));
+
+ //printf("bphysnode, createing the physics body\n");
+ ////Create the physics body
+ //lua_pushstring(L,ppath);
+ //lua_pushnumber(L,mass);
+ //pushvector3d(L,x,y,z);
+ //pushvector3d(L,lx,ly,lz);
+ //printf("About to makebphysmodel\n");
+ //makebphysmodel(L);
+ //printf("done makebphysmodel\n");
+
+ //btRigidBody *rb = (btRigidBody*)lua_touserdata(L,-1);
+ ////Create the lua representation
+ //lua_newtable(L);//
+
+ //lua_pushlightuserdata(L,rb);
+ //lua_setfield(L,-2,"collider");//{rb=ud_rb}
+
+ //lua_pushstring(L,"rigidbody");
+ //lua_setfield(L,-2,"type");//{rb=ud_rb, type="rigidbody"}
+
+ //lua_pushlightuserdata(L,node);
+ //lua_setfield(L,-2,"node");//{rb=ud_rb, node=ud_node, type="rigidbody"}
+
+ //luaL_getmetatable(L,"phys.physmodel");
+ //lua_setmetatable(L,-2);
+
+ //lua_getglobal(L,"phys");//{rb},{phys}
+ //lua_getfield(L,-1,"colliders");//{rb},{phys},{colliders}
+ //lua_pushlightuserdata(L,rb);//{rb},{phys},{colliders},ud_rb
+ //lua_pushvalue(L,-4);//{rb},{phys},{colliders},ud_rb,{rb}
+ //lua_settable(L,-3);//{rb},{phys},{colliders}
+ //lua_pop(L,2);//{rb}
+ //printf("finished creating the lua representation\n");
+
+ //return 1;
+//}
+
+//static const luaL_reg bphysmodel_f[] = {
+ //{"newphysmodel", newbphysmodel},
+ //{0,0},
+//};
+
+//static const luaL_reg bphysmodel_m[] = {
+ //{0, 0},
+//};
+
+//int cbphysmodel_register(lua_State* L){
+ ////printf("bphysmodel registered\n");
+
+ //luaL_newmetatable(L, "phys.physmodel");//{}
+ //luaL_register(L,NULL,bcollider_m);
+ //luaL_register(L,NULL,bphysmodel_m);
+ //luaL_register(L,NULL,igeneric_m); //Inherit all the things to do with scene nodes
+
+ //lua_getglobal(L,"phys");
+ //luaL_register(L,NULL,bphysmodel_f);
+
+ //return 1;
+//}