diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/lua_api/gui/simple.cpp | 55 | ||||
| -rw-r--r-- | src/client/main.hpp | 2 | ||||
| -rw-r--r-- | src/server/main.hpp (renamed from src/client/lua_api/gui/simple.hpp) | 0 | ||||
| -rw-r--r-- | src/shared/lua_api/irr/cubenode.cpp | 6 | ||||
| -rw-r--r-- | src/shared/lua_api/irr/cubenode.hpp | 6 | ||||
| -rw-r--r-- | src/shared/lua_api/phys/bphysbuffer.cpp | 215 | ||||
| -rw-r--r-- | src/shared/lua_api/phys/bphysmodel.cpp | 4 |
7 files changed, 111 insertions, 177 deletions
diff --git a/src/client/lua_api/gui/simple.cpp b/src/client/lua_api/gui/simple.cpp deleted file mode 100644 index 130240c..0000000 --- a/src/client/lua_api/gui/simple.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include <irrlicht.h>
-extern "C" {
- #include <lua.h>
- #include <lauxlib.h>
- #include <lualib.h>
-}
-
-// {{startx, starty},{endx,endy}}
-lua_torecti(lua_State* L, int number, int* sx, int* sy, int* ex, int* ey){
- lua_pushnumber(L,1);// ...,{},...,1
- lua_gettable(L,number);// ...,{{sx,sy},{ex,ey}},...,{sx,sy}
-
- lua_pushnumber(L,1);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},1
- lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},sx
- *sx = lua_tonumber(L,-1);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},sx
-
- lua_pop(1);// ...,{{sx,sy},{ex,ey}},...,{sx,sy}
-
- lua_pushnumber(L,2);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},2
- lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},sy
- *sy = lua_tonumber(L,-1);
-
- lua_pop(2);// ...,{{sx,sy},{ex,ey}},...
-
-
- lua_pushnumber(L,2);// ...,{{sx,sy},{ex,ey}},...,2
- lua_gettable(L,number);// ...,{{sx,sy},{ex,ey}},...,{ex,ey}
- lua_pushnumber(L,1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},1
-
- lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ex
- *ex = lua_tonumber(L,-1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ex
- lua_pop(L,1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey}
-
- lua_pushnumber(L,2);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},2
- lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ey
- *ey = lua_tonumber(L,-1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ey
-
- lua_pop(L,2);// ...,{{sx,sy},{ex,ey}},...
-}
-
-int addIGUIButton(lua_State* L){
- IGUIEnvironment env = lua_touserdata(L,1);
- IGUIElement parent = lua_touserdata(L,2);
- s32 id = lua_tonumber(L,3);
- s32 sx,sy,ex,ey;
- lua_torecti(L,4,&sx,&sy,&ex,&ey);
- core::rect<s32> rect = core::rect<s32>(sx,sy,ex,ey);
- IGUIElement* button = env->addButton(rect,parent,id,
-
-}
-
-void add_gui(lua_State* L){
-
-}
-blah
diff --git a/src/client/main.hpp b/src/client/main.hpp new file mode 100644 index 0000000..c94fc6e --- /dev/null +++ b/src/client/main.hpp @@ -0,0 +1,2 @@ + +int main(int argc, char *argv[]); diff --git a/src/client/lua_api/gui/simple.hpp b/src/server/main.hpp index e69de29..e69de29 100644 --- a/src/client/lua_api/gui/simple.hpp +++ b/src/server/main.hpp diff --git a/src/shared/lua_api/irr/cubenode.cpp b/src/shared/lua_api/irr/cubenode.cpp deleted file mode 100644 index d7e87bb..0000000 --- a/src/shared/lua_api/irr/cubenode.cpp +++ /dev/null @@ -1,6 +0,0 @@ - -extern "C" { - #include <lua.h> - #include <lauxlib.h> - #include <lualib.h> -} diff --git a/src/shared/lua_api/irr/cubenode.hpp b/src/shared/lua_api/irr/cubenode.hpp deleted file mode 100644 index d7e87bb..0000000 --- a/src/shared/lua_api/irr/cubenode.hpp +++ /dev/null @@ -1,6 +0,0 @@ - -extern "C" { - #include <lua.h> - #include <lauxlib.h> - #include <lualib.h> -} diff --git a/src/shared/lua_api/phys/bphysbuffer.cpp b/src/shared/lua_api/phys/bphysbuffer.cpp index f1f20c0..111b159 100644 --- a/src/shared/lua_api/phys/bphysbuffer.cpp +++ b/src/shared/lua_api/phys/bphysbuffer.cpp @@ -15,7 +15,6 @@ extern "C" { #include <client/lua_api/gameparts.hpp> #include <shared/lua_api/phys/bphysbox.hpp> #include "bphysmodel.hpp" -#include "../scene/igeneric.hpp" #include <shared/lua_api/common.hpp> using namespace irr; @@ -23,7 +22,7 @@ using namespace scene; using namespace core; using namespace video; -extern IrrlichtDevice* device; +//extern IrrlichtDevice* device; extern btDiscreteDynamicsWorld* World; extern core::list<btRigidBody*> Objects; @@ -36,137 +35,137 @@ static LBPhysNode* checkisbphysmodel(lua_State* L, int index){ //iscenecamera.new(Vector position, Vector lookat, parrent) // {} {} 0 1 -static int newbphysmodel(lua_State* L){ - printf("Createing bphysbox!\n"); - int nargs = lua_gettop(L); - if(nargs != 3){ - printf("Incorrect # of args to create a physmodel!"); - } - //The model for the mesh - //const char* modelpath = luaL_optstring(L,1,"error"); - - double x,y,z; - popvector3d(L,&x,&y,&z); - printf("Found position for phys model: %f %f %f\n",x,y,z); +//static int newbphysmodel(lua_State* L){ + //printf("Createing bphysbox!\n"); + //int nargs = lua_gettop(L); + //if(nargs != 3){ + //printf("Incorrect # of args to create a physmodel!"); + //} + ////The model for the mesh + ////const char* modelpath = luaL_optstring(L,1,"error"); + + //double x,y,z; + //popvector3d(L,&x,&y,&z); + //printf("Found position for phys model: %f %f %f\n",x,y,z); - //Find the vector scale - double sx,sy,sz; - popvector3d(L,&sx,&sy,&sz); - printf("Found scale for phys model: %f %f %f\n",sx,sy,sz); + ////Find the vector scale + //double sx,sy,sz; + //popvector3d(L,&sx,&sy,&sz); + //printf("Found scale for phys model: %f %f %f\n",sx,sy,sz); - //find the model path - const char* mpath = luaL_optstring(L,3,"error.obj"); + ////find the model path + //const char* mpath = luaL_optstring(L,3,"error.obj"); - printf("I want to use model %s\n", mpath); + //printf("I want to use model %s\n", mpath); - ISceneManager* smgr = device->getSceneManager(); - IMesh* amesh = smgr->getMesh(mpath); - IMeshBuffer* bf = amesh->getMeshBuffer(0); - u32 ni = bf->getIndexCount(); - - btTriangleMesh* trimesh = new btTriangleMesh(); - for(u32 i = 0; i < ni; i+=3){ - vector3df p1 = bf->getPosition(i + 0); - vector3df p2 = bf->getPosition(i + 1); - vector3df p3 = bf->getPosition(i + 2); - btVector3 b1 = btVector3(p1.X,p1.Y,p1.Z); - btVector3 b2 = btVector3(p2.X,p2.Y,p2.Z); - btVector3 b3 = btVector3(p3.X,p3.Y,p3.Z); - trimesh->addTriangle(b1,b2,b3); - } - btCollisionShape* shape = new btConvexTriangleMeshShape(trimesh,true); - core::vector3df scale = core::vector3df(sx,sy,sz); - btVector3 pos = btVector3(x,y,z); - core::vector3df ipos = core::vector3df(x,y,z); - shape->setLocalScaling(btVector3(sx,sy,sz)); - //Find the mass - float mass = luaL_optint(L,4,0); - printf("Found mass for physbox:%f\n",mass); + //ISceneManager* smgr = device->getSceneManager(); + //IMesh* amesh = smgr->getMesh(mpath); + //IMeshBuffer* bf = amesh->getMeshBuffer(0); + //u32 ni = bf->getIndexCount(); + + //btTriangleMesh* trimesh = new btTriangleMesh(); + //for(u32 i = 0; i < ni; i+=3){ + //vector3df p1 = bf->getPosition(i + 0); + //vector3df p2 = bf->getPosition(i + 1); + //vector3df p3 = bf->getPosition(i + 2); + //btVector3 b1 = btVector3(p1.X,p1.Y,p1.Z); + //btVector3 b2 = btVector3(p2.X,p2.Y,p2.Z); + //btVector3 b3 = btVector3(p3.X,p3.Y,p3.Z); + //trimesh->addTriangle(b1,b2,b3); + //} + //btCollisionShape* shape = new btConvexTriangleMeshShape(trimesh,true); + //core::vector3df scale = core::vector3df(sx,sy,sz); + //btVector3 pos = btVector3(x,y,z); + //core::vector3df ipos = core::vector3df(x,y,z); + //shape->setLocalScaling(btVector3(sx,sy,sz)); + ////Find the mass + //float mass = luaL_optint(L,4,0); + //printf("Found mass for physbox:%f\n",mass); - // Create an Irrlicht cube - scene::ISceneNode* Node = smgr->addMeshSceneNode( - amesh, - (ISceneNode*)0, - (s32)-1, - ipos, - vector3df(0,0,0), - scale - ); - //Node->setScale(scale); + //// Create an Irrlicht cube + //scene::ISceneNode* Node = smgr->addMeshSceneNode( + //amesh, + //(ISceneNode*)0, + //(s32)-1, + //ipos, + //vector3df(0,0,0), + //scale + //); + ////Node->setScale(scale); - printf("Added cube scene node and set it's scale\n"); + //printf("Added cube scene node and set it's scale\n"); - //Node->setMaterialFlag(video::EMF_WIREFRAME,true) - //Node->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true); - Node->setMaterialFlag(video::EMF_LIGHTING,true); - //Node->setMaterialTexture(0, device->getVideoDriver()->getTexture("../data/wall.jpg")); + ////Node->setMaterialFlag(video::EMF_WIREFRAME,true) + ////Node->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true); + //Node->setMaterialFlag(video::EMF_LIGHTING,true); + ////Node->setMaterialTexture(0, device->getVideoDriver()->getTexture("../data/wall.jpg")); - printf("Set node's lighting stuff...\n"); + //printf("Set node's lighting stuff...\n"); - // Set the initial position of the object - btTransform Transform; - Transform.setIdentity(); - Transform.setOrigin(pos); + //// Set the initial position of the object + //btTransform Transform; + //Transform.setIdentity(); + //Transform.setOrigin(pos); - printf("Created transform at pos...\n"); + //printf("Created transform at pos...\n"); - // Give it a default MotionState - btDefaultMotionState *MotionState = new btDefaultMotionState(Transform); + //// Give it a default MotionState + //btDefaultMotionState *MotionState = new btDefaultMotionState(Transform); - // Create the shape - // btVector3 HalfExtents(sx * 0.5f, sy * 0.5f, sz * 0.5f); - // btCollisionShape *Shape = new btBoxShape(HalfExtents); + //// Create the shape + //// btVector3 HalfExtents(sx * 0.5f, sy * 0.5f, sz * 0.5f); + //// btCollisionShape *Shape = new btBoxShape(HalfExtents); - printf("Created collision shape..."); + //printf("Created collision shape..."); - // Add mass - btVector3 LocalInertia; - shape->calculateLocalInertia(mass, LocalInertia); + //// Add mass + //btVector3 LocalInertia; + //shape->calculateLocalInertia(mass, LocalInertia); - // Create the rigid body object - btRigidBody *RigidBody = new btRigidBody(mass, MotionState, shape, LocalInertia); + //// Create the rigid body object + //btRigidBody *RigidBody = new btRigidBody(mass, MotionState, shape, LocalInertia); - printf("Created rigidboxy..."); + //printf("Created rigidboxy..."); - // Store a pointer to the irrlicht node so we can update it later - RigidBody->setUserPointer((void *)(Node)); + //// Store a pointer to the irrlicht node so we can update it later + //RigidBody->setUserPointer((void *)(Node)); - printf("Set user pointer"); + //printf("Set user pointer"); - // Add it to the world - World->addRigidBody(RigidBody); - printf("Added to world"); - Objects.push_back(RigidBody); + //// Add it to the world + //World->addRigidBody(RigidBody); + //printf("Added to world"); + //Objects.push_back(RigidBody); - //Register it's callback - printf("Everything created, makeing the lua representation\n"); + ////Register it's callback + //printf("Everything created, makeing the lua representation\n"); - //Create it's lua representation - LBPhysNode* pnode = (LBPhysNode*)lua_newuserdata(L, sizeof(LBPhysNode)); - int tref = luaL_ref(L,LUA_REGISTRYINDEX); - //iguielements[lcam] = tref; - lua_rawgeti(L,LUA_REGISTRYINDEX,tref);//Put it back on the stack since luaL_ref pops the object. + ////Create it's lua representation + //LBPhysNode* pnode = (LBPhysNode*)lua_newuserdata(L, sizeof(LBPhysNode)); + //int tref = luaL_ref(L,LUA_REGISTRYINDEX); + ////iguielements[lcam] = tref; + //lua_rawgeti(L,LUA_REGISTRYINDEX,tref);//Put it back on the stack since luaL_ref pops the object. - //Set it's metatable - luaL_getmetatable(L, "phys.physmodel"); - lua_setmetatable(L, -2); + ////Set it's metatable + //luaL_getmetatable(L, "phys.physmodel"); + //lua_setmetatable(L, -2); - //Create the struct - pnode->n = Node; - pnode->r = RigidBody; - pnode->funcmap = hashmap_new(); - pnode->type = "bphysbox"; + ////Create the struct + //pnode->n = Node; + //pnode->r = RigidBody; + //pnode->funcmap = hashmap_new(); + //pnode->type = "bphysbox"; - printf("Done createing lua representation!\n"); - //Free up anything made in this function - //free(label); + //printf("Done createing lua representation!\n"); + ////Free up anything made in this function + ////free(label); - //Put it on top and return it - lua_rawgeti(L,LUA_REGISTRYINDEX,tref); - return 1; -} + ////Put it on top and return it + //lua_rawgeti(L,LUA_REGISTRYINDEX,tref); + //return 1; +//} static const luaL_reg bphysbuffer_f[] = { @@ -185,9 +184,9 @@ static const luaL_reg bphysbuffer_m[] = { {0, 0}, }; -void bphysbuffer_register(lua_State* L, IrrlichtDevice* d){ +void bphysbuffer_register(lua_State* L){ - device = d; + //device = d; luaL_newmetatable(L, "phys.physbuffer");//{m_physbuffer} lua_newtable(L);//{m_physbuffer},{} diff --git a/src/shared/lua_api/phys/bphysmodel.cpp b/src/shared/lua_api/phys/bphysmodel.cpp index a89a28f..0cff0ed 100644 --- a/src/shared/lua_api/phys/bphysmodel.cpp +++ b/src/shared/lua_api/phys/bphysmodel.cpp @@ -66,8 +66,8 @@ void makebphysmodel(lua_State *L){ printf("Tinyobj failed to load model:%s\n",ppath); } //u32 meshcount = pmesh->getMeshBufferCount(); - __mingw_printf("attrib.num_vertices: %u\n",attrib.num_vertices); - __mingw_printf("attrib.num_faces: %u\n",attrib.num_faces); + //__mingw_printf("attrib.num_vertices: %u\n",attrib.num_vertices); + //__mingw_printf("attrib.num_faces: %u\n",attrib.num_faces); btTriangleMesh* trimesh = new btTriangleMesh(); for(size_t i = 0; i < attrib.num_vertices; i++){ //0 - x, so num_vertices - 1 //__mingw_printf("Looking at vertice %llu/%u\n",i,attrib.num_vertices); |
