From ef25a513437196a3ea9ee45e6e03565eb86067d2 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Thu, 28 Jun 2018 16:05:26 -0600 Subject: Simplified makefile Made makefile much simpiler, added option to build dynamically with DEBUG=true --- src/client/lua_api/gui/iguibutton.cpp | 4 +- src/client/lua_api/gui/iguicheckbox.cpp | 2 +- src/client/lua_api/gui/iguielement.cpp | 2 +- src/client/lua_api/gui/iguiimage.cpp | 2 +- src/client/lua_api/gui/iguiwindow.cpp | 21 ++-- src/client/lua_api/load_video.cpp | 2 +- src/client/lua_api/phys/bphysbuffer.cpp | 193 ++++++++------------------------ src/client/lua_api/phys/bphysbuffer.hpp | 2 +- src/client/lua_api/phys/bphysmodel.hpp | 9 +- src/client/lua_api/phys/butil.cpp | 26 ----- src/client/lua_api/phys/butil.hpp | 9 -- src/client/lua_api/phys/cbphysbox.cpp | 3 +- src/client/lua_api/scene/icamera.cpp | 2 +- src/client/lua_api/scene/icube.cpp | 68 ----------- src/client/lua_api/scene/icube.hpp | 11 -- src/client/lua_api/scene/igeneric.cpp | 2 +- src/client/lua_api/scene/ilight.cpp | 2 +- src/client/lua_api/scene/imesh.cpp | 2 +- src/client/lua_api/video/iimage.cpp | 2 +- src/client/lua_api/video/itexture.cpp | 2 +- src/client/main.cpp | 2 +- 21 files changed, 76 insertions(+), 292 deletions(-) delete mode 100644 src/client/lua_api/phys/butil.cpp delete mode 100644 src/client/lua_api/phys/butil.hpp delete mode 100644 src/client/lua_api/scene/icube.cpp delete mode 100644 src/client/lua_api/scene/icube.hpp (limited to 'src/client') diff --git a/src/client/lua_api/gui/iguibutton.cpp b/src/client/lua_api/gui/iguibutton.cpp index 8732bd6..86e6db8 100644 --- a/src/client/lua_api/gui/iguibutton.cpp +++ b/src/client/lua_api/gui/iguibutton.cpp @@ -14,8 +14,8 @@ extern "C" { #include "../guiparts.hpp" #include "iguielement.hpp" #include "client/callbackhandeler.hpp" -#include "client/util/hashmap.h" -#include "shared/lua_api/common.h" +#include +#include using namespace irr; using namespace core; diff --git a/src/client/lua_api/gui/iguicheckbox.cpp b/src/client/lua_api/gui/iguicheckbox.cpp index 74dd12e..ec9cb93 100644 --- a/src/client/lua_api/gui/iguicheckbox.cpp +++ b/src/client/lua_api/gui/iguicheckbox.cpp @@ -7,7 +7,7 @@ extern "C" { #include #include "../guiparts.hpp" #include "iguielement.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace gui; diff --git a/src/client/lua_api/gui/iguielement.cpp b/src/client/lua_api/gui/iguielement.cpp index 436bf93..d14c18e 100644 --- a/src/client/lua_api/gui/iguielement.cpp +++ b/src/client/lua_api/gui/iguielement.cpp @@ -6,7 +6,7 @@ extern "C" { } -#include "../../../shared/lua_api/common.h" +#include #include #include "../guiparts.hpp" diff --git a/src/client/lua_api/gui/iguiimage.cpp b/src/client/lua_api/gui/iguiimage.cpp index 370da68..0428344 100644 --- a/src/client/lua_api/gui/iguiimage.cpp +++ b/src/client/lua_api/gui/iguiimage.cpp @@ -15,7 +15,7 @@ extern "C" { #include "iguiwindow.hpp" #include "iguiutil.hpp" #include "../../callbackhandeler.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace gui; diff --git a/src/client/lua_api/gui/iguiwindow.cpp b/src/client/lua_api/gui/iguiwindow.cpp index 150ba68..705af18 100644 --- a/src/client/lua_api/gui/iguiwindow.cpp +++ b/src/client/lua_api/gui/iguiwindow.cpp @@ -15,7 +15,7 @@ extern "C" { #include "iguiwindow.hpp" #include "iguiutil.hpp" #include "../../callbackhandeler.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace gui; @@ -32,39 +32,38 @@ static bool iguiwindowevent(irr::SEvent e){ return shouldclose == 1; } -//new({posx,posy},{width,height},"title"[,parent]) +//new({{sx,sy},{ex,ey}},"title"[,{guielement=parent}]) :: {guielement} static int newiguiwindow(lua_State* L){ IGUIElement* parent = NULL; int numargs = lua_gettop(L); if(numargs == 4){ + lua_getfield(L,-1,"guielement");//{{sx,sy},{ex,ey}},"title",{guielement=parent},parent parent = (IGUIElement*)lua_touserdata(L,-1); - lua_pop(L,1); + lua_pop(L,2); } + //{{sx,sy},{ex,ey},"title" const char* title_c = lua_tostring(L,-1); const wchar_t* title_w = irr::core::stringw(title_c).c_str(); - lua_pop(L,1); + lua_pop(L,1);//{{sx,sy},{ex,ey}} //Frame position - long x,y,w,h; - popvector2i(L,&w,&h); - popvector2i(L,&x,&y); + long sx,sy,ex,ey; + poprecti(L,&sx,&sy,&ex,&ey);// //Create the window IGUIEnvironment* env = guidevice->getGUIEnvironment(); IGUIWindow* wi = env->addWindow( - core::rect(x,y,x+w,y+h), + core::rect(sx,sy,ex,ey), false, title_w, parent, -1 ); - lua_pushlightuserdata(L,wi); - lua_newtable(L);//{} lua_pushlightuserdata(L,wi);//{},{ud_window} - lua_setfield(L,-2,"element");//{element=ud_window} + lua_setfield(L,-2,"guielement");//{element=ud_window} luaL_getmetatable(L,"gui.window");//{element=ud_window},{m_gui.window} lua_setmetatable(L,-2);//{element=ud_window, __meta=gui.window} diff --git a/src/client/lua_api/load_video.cpp b/src/client/lua_api/load_video.cpp index df3a9aa..bd07e97 100644 --- a/src/client/lua_api/load_video.cpp +++ b/src/client/lua_api/load_video.cpp @@ -9,7 +9,7 @@ extern "C" { #include "video/itexture.hpp" #include "video/iimage.hpp" -#include "shared/lua_api/common.h" +#include using namespace irr; using namespace video; diff --git a/src/client/lua_api/phys/bphysbuffer.cpp b/src/client/lua_api/phys/bphysbuffer.cpp index aa2833a..a8f7302 100644 --- a/src/client/lua_api/phys/bphysbuffer.cpp +++ b/src/client/lua_api/phys/bphysbuffer.cpp @@ -12,10 +12,11 @@ extern "C" { } #include #include -#include "../gameparts.hpp" -#include "bphysbox.hpp" +#include +#include #include "bphysmodel.hpp" #include "../scene/igeneric.hpp" +#include using namespace irr; using namespace scene; @@ -49,40 +50,14 @@ static int newbphysmodel(lua_State* L){ } //The model for the mesh //const char* modelpath = luaL_optstring(L,1,"error"); - - //Find the vector position - lua_pushnumber(L,1); - lua_gettable(L,-4); - float x = lua_tonumber(L,-1); - lua_pop(L,1); - - lua_pushnumber(L,2); - lua_gettable(L,-4); - float y = lua_tonumber(L,-1); - lua_pop(L,1); - - lua_pushnumber(L,3); - lua_gettable(L,-4); - float z = lua_tonumber(L,-1); - lua_pop(L,1); + + 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 - lua_pushnumber(L,1); - lua_gettable(L,-3); - float sx = lua_tonumber(L,-1); - lua_pop(L,1); - - lua_pushnumber(L,2); - lua_gettable(L,-3); - float sy = lua_tonumber(L,-1); - lua_pop(L,1); - - lua_pushnumber(L,3); - lua_gettable(L,-3); - float sz = lua_tonumber(L,-1); - lua_pop(L,1); - + 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 @@ -90,41 +65,41 @@ static int newbphysmodel(lua_State* L){ 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); + 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)); + shape->setLocalScaling(btVector3(sx,sy,sz)); //Find the mass float mass = luaL_optint(L,4,0); - printf("Found mass for physbox:%f\n",mass); + 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 - ); + 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"); @@ -199,108 +174,30 @@ static int newbphysmodel(lua_State* L){ return 1; } -static int delbphysmodel(lua_State* L){ - LBPhysNode* pnode = checkisbphysmodel(L,-1); - - //delete pnode->r->getMotionState(); - delete pnode->r->getCollisionShape(); - delete pnode->r; - - return 0; -} -static int bphyssetpos(lua_State *L){ - LBPhysNode* i = checkisbphysmodel(L,1); - btTransform bt = i->r->getWorldTransform(); - - lua_pushnumber(L,1); - lua_gettable(L,-2); - f32 x = (f32)lua_tonumber(L,-1); - lua_pop(L,1); - - lua_pushnumber(L,2); - lua_gettable(L,-2); - f32 y = (f32)lua_tonumber(L,-1); - lua_pop(L,1); - - lua_pushnumber(L,3); - lua_gettable(L,-2); - f32 z = (f32)lua_tonumber(L,-1); - lua_pop(L,1); - - btVector3 to = btVector3(x,y,z); - printf("managed to set phys origin\n"); - bt.setOrigin(to); - printf("managed to set phys transform\n"); - i->r->setWorldTransform(bt); - i->r->activate(); - printf("sucess! returning from call\n"); - return 0; -} - -static int bphysgetpos(lua_State *L){ - LBPhysNode* i = checkisbphysmodel(L,1); - btTransform bt = i->r->getWorldTransform(); - btVector3 bv = bt.getOrigin(); - - lua_createtable(L,3,0); - - lua_pushnumber(L,1); - lua_pushnumber(L,bv.x()); - lua_settable(L,-3); - - lua_pushnumber(L,2); - lua_pushnumber(L,bv.y()); - lua_settable(L,-3); - - lua_pushnumber(L,3); - lua_pushnumber(L,bv.z()); - lua_settable(L,-3); - - return 1; -} - -static const luaL_reg bphysmodel_f[] = { - {"new", newbphysbuffer}, +static const luaL_reg bphysbuffer_f[] = { + //{"new", newbphysmodel}, // {"gethandeler", guigethandeler}, // {"sethandeler", guisethandeler}, {0,0}, }; -static const luaL_reg bphysmodel_m[] = { - {"setmaterial", iscenesetmaterial}, - {"getpos", bphysgetpos}, - {"setpos", bphyssetpos}, +static const luaL_reg bphysbuffer_m[] = { + //{"setmaterial", iscenesetmaterial}, + //{"getpos", bphysgetpos}, + //{"setpos", bphyssetpos}, // {"settext", setiguitext}, // {"remove", removeiguielement}, {0, 0}, }; -int bphysmodel_register(lua_State* L, IrrlichtDevice* d){ +void bphysbuffer_register(lua_State* L, IrrlichtDevice* d){ device = d; - //printf("bphysmodel registered\n"); - - luaL_newmetatable(L, "phys.physmodel"); - - luaL_register(L,"physmodel",bphysmodel_f); - - lua_pushstring(L,"__index"); - lua_pushstring(L,"gethandeler"); - lua_gettable(L,-3); - lua_settable(L,-4); - - lua_pushstring(L,"__newindex"); - lua_pushstring(L,"sethandeler"); - lua_gettable(L,-3); - lua_settable(L,-4); - - lua_pushstring(L,"__gc"); - lua_pushcfunction(L,delbphysmodel); - lua_settable(L,-4); - - luaL_register(L, NULL, bphysmodel_m); - - return 1; + luaL_newmetatable(L, "phys.physbuffer");//{m_physbuffer} + lua_newtable(L);//{m_physbuffer},{} + luaL_register(L,"physbuffer",bphysbuffer_m);//{m_physbuffer},{physbuffer} + lua_setfield(L,-2,"__index");//{m_physbuffer} + lua_pop(L,1); } diff --git a/src/client/lua_api/phys/bphysbuffer.hpp b/src/client/lua_api/phys/bphysbuffer.hpp index a59c451..cfbf549 100644 --- a/src/client/lua_api/phys/bphysbuffer.hpp +++ b/src/client/lua_api/phys/bphysbuffer.hpp @@ -8,4 +8,4 @@ extern "C" { } #include -int bphysmodel_register(lua_State* L, irr::IrrlichtDevice* d); +void bphysmodel_register(lua_State* L); diff --git a/src/client/lua_api/phys/bphysmodel.hpp b/src/client/lua_api/phys/bphysmodel.hpp index a59c451..1c0fbac 100644 --- a/src/client/lua_api/phys/bphysmodel.hpp +++ b/src/client/lua_api/phys/bphysmodel.hpp @@ -1,11 +1,12 @@ - +#ifndef _BPHYSMODEL_HPP_ #include #include extern "C" { - #include - #include - #include + #include + #include + #include } #include int bphysmodel_register(lua_State* L, irr::IrrlichtDevice* d); +#endif diff --git a/src/client/lua_api/phys/butil.cpp b/src/client/lua_api/phys/butil.cpp deleted file mode 100644 index 6319688..0000000 --- a/src/client/lua_api/phys/butil.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include - -extern "C" { - #include - #include - #include -} - -#include - -#include "butil.hpp" - -btVector3 lua_popbtvector(lua_State* L,int pos){ - f32 p[3]; - - for(int i = 0; i < 3; i++){ - lua_pushnumber(L,i+1); - lua_gettable(L,pos); - p[i] = (f32) lua_tonumber(L,-1); - lua_pop(L,1); - } - - printf("Found vector (%f,%f,%f)\n",p[0],p[1],p[2]); - - return btVector3(p[0],p[1],p[2]); -} diff --git a/src/client/lua_api/phys/butil.hpp b/src/client/lua_api/phys/butil.hpp deleted file mode 100644 index c288b97..0000000 --- a/src/client/lua_api/phys/butil.hpp +++ /dev/null @@ -1,9 +0,0 @@ -extern "C" { - #include - #include - #include -} - -#include - -btVector3 lua_popbtvector(lua_State* L,int pos); diff --git a/src/client/lua_api/phys/cbphysbox.cpp b/src/client/lua_api/phys/cbphysbox.cpp index 6a3d64e..2935d21 100644 --- a/src/client/lua_api/phys/cbphysbox.cpp +++ b/src/client/lua_api/phys/cbphysbox.cpp @@ -12,8 +12,9 @@ extern "C" { #include #include "cbphysbox.hpp" #include "../scene/imesh.hpp" -#include "../../../shared/lua_api/phys/bphysbox.hpp" +#include #include "../scene/igeneric.hpp" +#include using namespace irr; using namespace scene; diff --git a/src/client/lua_api/scene/icamera.cpp b/src/client/lua_api/scene/icamera.cpp index dcdec2d..654fc7b 100644 --- a/src/client/lua_api/scene/icamera.cpp +++ b/src/client/lua_api/scene/icamera.cpp @@ -14,7 +14,7 @@ extern "C" { #include "../gameparts.hpp" #include "icamera.hpp" #include "igeneric.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace scene; diff --git a/src/client/lua_api/scene/icube.cpp b/src/client/lua_api/scene/icube.cpp deleted file mode 100644 index 8f4c9d8..0000000 --- a/src/client/lua_api/scene/icube.cpp +++ /dev/null @@ -1,68 +0,0 @@ - -extern "C" { - #include - #include - #include -} -#include - -extern IrrlichtDevice* device; - -using namespace irr; - -// {} :: scene.newcube(num_size, {v3 pos}) -int newiscenecube(lua_StatE* L){//num_size, {v3 pos} - double x,y,z; - popvector3d(L,&x, &y, &z);//num_size - double size = lua_tonumber(L,-1);//num_size - lua_pop(L,1);// - IMeshSceneNode* n = device->getSceneManager()->addCubeSceneNode(size,0,-1,core::vector3df(x,y,z)); - - lua_newtable(L);//{} - lua_pushlightuserdata(L,n);//{},ud_node - lua_setfield(L,-2,"node");//{} - - luaL_getmetatable(L,"scene.inode");//{},sene.inode - lua_setmetatable(L,-2); - - return 1; -} - -static const luaL_reg iscenenode_m[] = { - {"getpos", iscenegetpos}, - {"setpos", iscenesetpos}, -// {"remove", removeiguielement}, - {0, 0}, -}; - -void icube_register(lua_State* L){ - - luaL_newmetatable(L, "scene.icamera");//scene.icamera - lua_newtable(L);//scene.icamera, {} - luaL_register(L,NULL,icamera_m);//scene.icamera, {} - lua_setfield(L,-2,"__index");//scene.icamera - lua_pop(L,1);// - - luaL_newmetatable(L, "scene.imayacamera");//scene.imayacamera - lua_newtable(L);//scene.imayascamera,{} - luaL_register(L,NULL,imayacamera_m);//scene.imayascamera,{} - lua_setfield(L,-2,"__index");//scene.imayascamera - lua_pop(L,1);// - - luaL_newmetatable(L,"scene.ifpscamera");//scene.ifpscamera - lua_newtable(L);//scene.ifpscamera, {} - luaL_register(L,NULL,ifpscamera_m);//scene.ifpscamera,{} - luaL_register(L,NULL,icamera_m);//scene.ifpscamera,{} - lua_setfield(L,-2,"__index");//scene.ifpscamera - lua_pop(L,1);// - - lua_getglobal(L,"scene");//{} - lua_pushcfunction(L,newiscenecamera);//{},newiscenecamera() - lua_setfield(L,-2,"newcamera");//{} - lua_pushcfunction(L,newiscenefpscamera);//{},newiscenefpscamera() - lua_setfield(L,-2,"newfpscamera");//{} - lua_pushcfunction(L,newiscenemayacamera);//{},newiscenemayacamera() - lua_setfield(L,-2,"newmayacamera");//{} - //printf("\"scene\" was set!\n"); - //lua_pop(L,1); -} diff --git a/src/client/lua_api/scene/icube.hpp b/src/client/lua_api/scene/icube.hpp deleted file mode 100644 index ffb4d3b..0000000 --- a/src/client/lua_api/scene/icube.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -#include -#include -extern "C" { - #include - #include - #include -} -#include - -void icube_register(lua_State* L); diff --git a/src/client/lua_api/scene/igeneric.cpp b/src/client/lua_api/scene/igeneric.cpp index c016788..4619064 100644 --- a/src/client/lua_api/scene/igeneric.cpp +++ b/src/client/lua_api/scene/igeneric.cpp @@ -7,7 +7,7 @@ extern "C" { #include #include "igeneric.hpp" #include "../gameparts.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace core; diff --git a/src/client/lua_api/scene/ilight.cpp b/src/client/lua_api/scene/ilight.cpp index 451280a..8f52f2d 100644 --- a/src/client/lua_api/scene/ilight.cpp +++ b/src/client/lua_api/scene/ilight.cpp @@ -14,7 +14,7 @@ extern "C" { #include "../gameparts.hpp" #include "ilight.hpp" #include "igeneric.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace scene; diff --git a/src/client/lua_api/scene/imesh.cpp b/src/client/lua_api/scene/imesh.cpp index 2760067..c72e83a 100644 --- a/src/client/lua_api/scene/imesh.cpp +++ b/src/client/lua_api/scene/imesh.cpp @@ -14,7 +14,7 @@ extern "C" { #include "../gameparts.hpp" #include "imesh.hpp" #include "igeneric.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace scene; diff --git a/src/client/lua_api/video/iimage.cpp b/src/client/lua_api/video/iimage.cpp index 3090057..aa51d29 100644 --- a/src/client/lua_api/video/iimage.cpp +++ b/src/client/lua_api/video/iimage.cpp @@ -2,7 +2,7 @@ #include "iimage.hpp" #include -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace video; diff --git a/src/client/lua_api/video/itexture.cpp b/src/client/lua_api/video/itexture.cpp index 42de1bd..587b8ee 100644 --- a/src/client/lua_api/video/itexture.cpp +++ b/src/client/lua_api/video/itexture.cpp @@ -7,7 +7,7 @@ extern "C" { #include #include "itexture.hpp" #include "iimage.hpp" -#include "../../../shared/lua_api/common.h" +#include using namespace irr; using namespace video; diff --git a/src/client/main.cpp b/src/client/main.cpp index ad7d818..f764fe9 100644 --- a/src/client/main.cpp +++ b/src/client/main.cpp @@ -21,7 +21,7 @@ extern "C" { #include "lua_api/load_video.hpp" #include "callbackhandeler.hpp" -#include "../shared/lua_api/common.h" +#include #include "../shared/lua_api/load_net.hpp" #include "../shared/phys/physcommon.hpp" -- cgit v1.2.3-70-g09d2