aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/lua_api/gui/iguibutton.cpp4
-rw-r--r--src/client/lua_api/gui/iguicheckbox.cpp2
-rw-r--r--src/client/lua_api/gui/iguielement.cpp2
-rw-r--r--src/client/lua_api/gui/iguiimage.cpp2
-rw-r--r--src/client/lua_api/gui/iguiwindow.cpp21
-rw-r--r--src/client/lua_api/load_video.cpp2
-rw-r--r--src/client/lua_api/phys/bphysbuffer.cpp193
-rw-r--r--src/client/lua_api/phys/bphysbuffer.hpp2
-rw-r--r--src/client/lua_api/phys/bphysmodel.hpp9
-rw-r--r--src/client/lua_api/phys/butil.cpp26
-rw-r--r--src/client/lua_api/phys/butil.hpp9
-rw-r--r--src/client/lua_api/phys/cbphysbox.cpp3
-rw-r--r--src/client/lua_api/scene/icamera.cpp2
-rw-r--r--src/client/lua_api/scene/icube.cpp68
-rw-r--r--src/client/lua_api/scene/icube.hpp11
-rw-r--r--src/client/lua_api/scene/igeneric.cpp2
-rw-r--r--src/client/lua_api/scene/ilight.cpp2
-rw-r--r--src/client/lua_api/scene/imesh.cpp2
-rw-r--r--src/client/lua_api/video/iimage.cpp2
-rw-r--r--src/client/lua_api/video/itexture.cpp2
-rw-r--r--src/client/main.cpp2
-rw-r--r--src/shared/lua_api/common.cpp (renamed from src/shared/lua_api/common.c)2
-rw-r--r--src/shared/lua_api/common.hpp (renamed from src/shared/lua_api/common.h)0
-rw-r--r--src/shared/lua_api/load_net.cpp2
-rw-r--r--src/shared/lua_api/phys/bphysbox.cpp2
-rw-r--r--src/shared/lua_api/phys/bphysbox.hpp1
-rw-r--r--src/shared/phys/physcommon.hpp3
-rw-r--r--src/shared/util/hashmap.cpp (renamed from src/shared/util/hashmap.c)2
-rw-r--r--src/shared/util/hashmap.hpp (renamed from src/shared/util/hashmap.h)0
29 files changed, 82 insertions, 298 deletions
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 <shared/util/hashmap.hpp>
+#include <shared/lua_api/common.hpp>
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 <irrlicht.h>
#include "../guiparts.hpp"
#include "iguielement.hpp"
-#include "../../../shared/lua_api/common.h"
+#include <shared/lua_api/common.hpp>
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 <shared/lua_api/common.hpp>
#include <irrlicht.h>
#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 <shared/lua_api/common.hpp>
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 <shared/lua_api/common.hpp>
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<s32>(x,y,x+w,y+h),
+ core::rect<s32>(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 <shared/lua_api/common.hpp>
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 <btBulletDynamicsCommon.h>
#include <irrlicht.h>
-#include "../gameparts.hpp"
-#include "bphysbox.hpp"
+#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;
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 <irrlicht.h>
-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 <stdio.h>
#include <stdlib.h>
extern "C" {
- #include <lua.h>
- #include <lauxlib.h>
- #include <lualib.h>
+ #include <lua.h>
+ #include <lauxlib.h>
+ #include <lualib.h>
}
#include <irrlicht.h>
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 <stdio.h>
-
-extern "C" {
- #include <lua.h>
- #include <lauxlib.h>
- #include <lualib.h>
-}
-
-#include <btBulletDynamicsCommon.h>
-
-#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 <lua.h>
- #include <lauxlib.h>
- #include <lualib.h>
-}
-
-#include <btBulletDynamicsCommon.h>
-
-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 <irrlicht.h>
#include "cbphysbox.hpp"
#include "../scene/imesh.hpp"
-#include "../../../shared/lua_api/phys/bphysbox.hpp"
+#include <shared/lua_api/phys/bphysbox.hpp>
#include "../scene/igeneric.hpp"
+#include <shared/lua_api/common.hpp>
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 <shared/lua_api/common.hpp>
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 <lua.h>
- #include <lauxlib.h>
- #include <lualib.h>
-}
-#include <irrlicht.h>
-
-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 <stdio.h>
-#include <stdlib.h>
-extern "C" {
- #include <lua.h>
- #include <lauxlib.h>
- #include <lualib.h>
-}
-#include <irrlicht.h>
-
-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 <irrlicht.h>
#include "igeneric.hpp"
#include "../gameparts.hpp"
-#include "../../../shared/lua_api/common.h"
+#include <shared/lua_api/common.hpp>
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 <shared/lua_api/common.hpp>
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 <shared/lua_api/common.hpp>
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 <irrlicht.h>
-#include "../../../shared/lua_api/common.h"
+#include <shared/lua_api/common.hpp>
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 <irrlicht.h>
#include "itexture.hpp"
#include "iimage.hpp"
-#include "../../../shared/lua_api/common.h"
+#include <shared/lua_api/common.hpp>
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 <shared/lua_api/common.hpp>
#include "../shared/lua_api/load_net.hpp"
#include "../shared/phys/physcommon.hpp"
diff --git a/src/shared/lua_api/common.c b/src/shared/lua_api/common.cpp
index 2eeee11..68bf203 100644
--- a/src/shared/lua_api/common.c
+++ b/src/shared/lua_api/common.cpp
@@ -5,7 +5,7 @@ extern "C" {
#include <lualib.h>
}
-#include "common.h"
+#include "common.hpp"
//Expose things to the lua state
void loadLLibs(lua_State* L){
diff --git a/src/shared/lua_api/common.h b/src/shared/lua_api/common.hpp
index 6086065..6086065 100644
--- a/src/shared/lua_api/common.h
+++ b/src/shared/lua_api/common.hpp
diff --git a/src/shared/lua_api/load_net.cpp b/src/shared/lua_api/load_net.cpp
index 5280d42..740d997 100644
--- a/src/shared/lua_api/load_net.cpp
+++ b/src/shared/lua_api/load_net.cpp
@@ -20,7 +20,7 @@ extern "C" {
#include "load_net.hpp"
-#include "../util/hashmap.h"
+#include <shared/util/hashmap.hpp>
#include "stream.hpp"
std::map<int,std::map<std::string,int>> netfuncs;
diff --git a/src/shared/lua_api/phys/bphysbox.cpp b/src/shared/lua_api/phys/bphysbox.cpp
index 0fe9f72..728b6d1 100644
--- a/src/shared/lua_api/phys/bphysbox.cpp
+++ b/src/shared/lua_api/phys/bphysbox.cpp
@@ -9,7 +9,7 @@ extern "C" {
}
#include <btBulletDynamicsCommon.h>
#include "bphysbox.hpp"
-#include "../common.h"
+#include <shared/lua_api/common.hpp>
extern btDiscreteDynamicsWorld* World;
extern std::list<btRigidBody*> Objects;
diff --git a/src/shared/lua_api/phys/bphysbox.hpp b/src/shared/lua_api/phys/bphysbox.hpp
index 96b58a7..1471381 100644
--- a/src/shared/lua_api/phys/bphysbox.hpp
+++ b/src/shared/lua_api/phys/bphysbox.hpp
@@ -8,7 +8,6 @@ extern "C" {
#include <lualib.h>
}
#include <irrlicht.h>
-#include "../common.h"
void bphysbox_register(lua_State* L);
void makenewbphysbox(lua_State* L);
diff --git a/src/shared/phys/physcommon.hpp b/src/shared/phys/physcommon.hpp
index e4660ab..00061ec 100644
--- a/src/shared/phys/physcommon.hpp
+++ b/src/shared/phys/physcommon.hpp
@@ -1,4 +1,5 @@
-
+#ifndef _shared_physcommon_
void gameloop_phys(void(*f)(btRigidBody*));
void phys_genesis();
void phys_shutdown(void(*f)(btRigidBody*));
+#endif
diff --git a/src/shared/util/hashmap.c b/src/shared/util/hashmap.cpp
index f91e743..9d7ac71 100644
--- a/src/shared/util/hashmap.c
+++ b/src/shared/util/hashmap.cpp
@@ -1,7 +1,7 @@
/*
* Generic map implementation.
*/
-#include "hashmap.h"
+#include "hashmap.hpp"
#include <stdlib.h>
#include <stdio.h>
diff --git a/src/shared/util/hashmap.h b/src/shared/util/hashmap.hpp
index 16c76dd..16c76dd 100644
--- a/src/shared/util/hashmap.h
+++ b/src/shared/util/hashmap.hpp