aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile412
-rw-r--r--bin/client/bin/.gitignore2
-rw-r--r--bin/client/data/init.lua3
-rw-r--r--bin/server/.gitignore0
-rw-r--r--bin/server/bin/.gitignore2
-rw-r--r--build/.gitignore0
-rw-r--r--build/client/lua_api/.gitignore0
-rw-r--r--build/client/lua_api/gui/.gitignore0
-rw-r--r--build/client/lua_api/phys/.gitignore0
-rw-r--r--build/client/lua_api/scene/.gitignore0
-rw-r--r--build/client/lua_api/video/.gitignore0
-rw-r--r--build/client/phys/.gitignore0
-rw-r--r--build/client/util/.gitignore0
-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
42 files changed, 357 insertions, 442 deletions
diff --git a/Makefile b/Makefile
index d308319..2936037 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ endif
ifeq ($(UNAME), Windows)
EXE_EXT=.exe
- STA_LIB_EXT=.lib
+ STA_LIB_EXT=.a
DYN_LIB_EXT=.dll
CMAKE_TYPE="MinGW Makefiles"
CMAKE_FLAGS=-G $(CMAKE_TYPE) -DCMAKE_SH="CMAKE_SH-NOTFOUND"
@@ -22,78 +22,128 @@ ifeq ($(UNAME), Linux)
CMAKE_FLAGS= -G $(CMAKE_TYPE)
endif
+BIN_DIR=bin
+BUILD_DIR=build
+SRC_DIR=src
+LIB_DIR=lib
+DOC_DIR=doc
+
+CLIENTNAME=client
+SERVERNAME=server
+MASTERNAME=masterserver
+
+EX_PRE = brokengine_
+EX_PARTS = $(CLIENTNAME) $(SERVERNAME) $(MASTERNAME)
+
+NAMES = $(EX_PARTS:%=$(EX_PRE)%)
+BINS+= $(foreach part,$(EX_PARTS),$(BIN_DIR)/$(part)/bin/$(EX_PRE)$(part)$(EXE_EXT))
+BUILDS = $(EX_PARTS:%=$(BUILD_DIR)/%)
+SRC_DIRS = $(EX_PARTS:%=$(SRC_DIR)/%)
#Run with mingw32-make
-CLIENT_NAME=brokengine
-CLIENT_EXE=$(CLIENT_NAME)$(EXE_EXT)
-CLIENT_DIR=bin/client/bin
-CLIENT_PATH=$(CLIENT_DIR)/$(CLIENT_EXE)
-CLIENT_SRC=src/client/
-CLIENT_BUILD=build/client/
+#CLIENT_NAME=brokengine
+#CLIENT_EXE=$(CLIENT_NAME)$(EXE_EXT)
+#CLIENT_DIR=$(BIN_DIR)/client/bin
+#CLIENT_PATH=$(CLIENT_DIR)/$(CLIENT_EXE)
+#CLIENT_SRC=$(SRC_DIR)/client
+#CLIENT_BUILD_DIR=$(BUILD_DIR)/client
-SERVER_NAME=brokeserver
-SERVER_EXE=$(SERVER_NAME)$(EXE_EXT)
-SERVER_DIR=bin/server/bin
-SERVER_PATH=$(SERVER_DIR)/$(SERVER_EXE)
-SERVER_SRC=src/server/
-SERVER_BUILD=build/server/
+#SERVER_NAME=brokeserver
+#SERVER_EXE=$(SERVER_NAME)$(EXE_EXT)
+#SERVER_DIR=bin/server/bin
+#SERVER_PATH=$(SERVER_DIR)/$(SERVER_EXE)
+#SERVER_SRC=src/server/
+#SERVER_BUILD=build/server/
-SHARED_SRC=src/shared/
+#SHARED_SRC=src/shared/
-TEST_PATH=bin/test/
-TEST_SRC=src/test/
+#TEST_PATH=bin/test/
+#TEST_SRC=src/test/
-MASTER_EXE=borkmaster.exe
+#MASTER_EXE=borkmaster.exe
+CXX?=g++
+MKDIR?=mkdir
+RM?=rm -f
+ECHO?=echo
-#Change these on linux
-CC=g++
-MKDIR=mkdir
-RM=rm -f
-ECHO=printf
+LLUADIR=$(LIB_DIR)/luajit
+LIRRDIR=$(LIB_DIR)/irrlicht
+LBULDIR=$(LIB_DIR)/bullet
+LNANDIR=$(LIB_DIR)/nanomsg
#Include directories
-ILUADIR=./lib/luajit/src
-IIRRDIR=./lib/irrlicht/include
-IBULDIR=./lib/bullet/src
-INANDIR=./lib/nanomsg/src
-ISHADIR=./src
-INCLUDES=-I$(ILUADIR) -I$(IIRRDIR) -I$(IBULDIR) -I$(INANDIR) -I$(ISHADIR)
+ILUADIR=$(LLUADIR)/src
+IIRRDIR=$(LIRRDIR)/include
+IBULDIR=$(LBULDIR)/src
+INANDIR=$(LNANDIR)/src
+ISHADIR=src
+INCLUDE_PATHS=-I$(ILUADIR) -I$(IIRRDIR) -I$(IBULDIR) -I$(INANDIR) -I$(ISHADIR)
#library directories
-LLUADIR=lib/luajit
-LIRRDIR=lib/irrlicht
-LBULDIR=lib/bullet
-LNANDIR=lib/nanomsg
-LIBRARIES=-Llib
+CXXFLAGS+=$(INCLUDE_PATHS)
+
+LDFLAGS+=-Llib
#Libraries
-LIBLUA=lib/libluajit.a
-LIBIRR=lib/libIrrlicht.a
-LIBBCO=lib/libBulletCollision.a
-LIBBDY=lib/libBulletDynamics.a
-LIBBLM=lib/libLinearMath.a
-LIBNAN=lib/libnanomsg.a
+#static libs
+LIB_S_LUA=lib/libluajit.a
+LIB_S_IRR=lib/Irrlicht.a
+LIB_S_BCO=lib/libBulletCollision.a
+LIB_S_BDY=lib/libBulletDynamics.a
+LIB_S_BLM=lib/libLinearMath.a
+LIB_S_NAN=lib/libnanomsg.a
+
+#dynamic libraries
+LIB_D_LUA=lib/lua51$(DYN_LIB_EXT)
+LIB_D_IRR=lib/Irrlicht$(DYN_LIB_EXT)
+# Bullet cannot be built dynamically
+LIB_D_BCO=$(LIB_S_BCO)
+LIB_D_BDY=$(LIB_S_BDY)
+LIB_D_BLM=$(LIB_S_BLM)
+LIB_D_NAN=lib/nanomsg/libnanomsg$(DYN_LIB_EXT)
+
+DLLS=Irrlicht libnanomsg lua51
+BINS=
+ifeq ($(DEBUG),true)
+ LIB_OBJS = $(LIB_D_LUA) $(LIB_D_IRR) $(LIB_D_BCO) $(LIB_D_BDY) $(LIB_D_BLM) $(LIB_D_NAN)
+ BINS+=$(DLLS:%=$(BIN_DIR)/$(CLIENTNAME)/bin/%$(DYN_LIB_EXT))
+else
+ LIB_OBJS = $(LIB_S_LUA) $(LIB_S_IRR) $(LIB_S_BCO) $(LIB_S_BDY) $(LIB_S_BLM) $(LIB_S_NAN)
+endif
-DLLIRR=$(LIRRDIR)/Irrlicht.dll
+#LIBLUA=lib/libluajit.a
+#LIBIRR=lib/libIrrlicht.a
+#LIBBCO=lib/libBulletCollision.a
+#LIBBDY=lib/libBulletDynamics.a
+#LIBBLM=lib/libLinearMath.a
+#LIBNAN=lib/libnanomsg.a
-DYNAMIC_LIBS = #-lnanomsg.dll #-lIrrlicht
+#DLLIRR=$(LIRRDIR)/Irrlicht.dll
+
+# Libraries
#order matters!
-STATIC_LIBS = -lBulletDynamics -lBulletCollision -lLinearMath -lIrrlicht -lluajit -lnanomsg
+LIBS=-lBulletDynamics -lBulletCollision -lLinearMath -lIrrlicht -lnanomsg
ifeq ($(UNAME),Windows)
- STATIC_LIBS+=-lOpenGL32
+ LIBS+=-lOpenGL32
else
- DYNAMIC_LIBS+=-lGL
+ LIBS+=-lGL
+endif
+ifeq ($(DEBUG),true)
+ LIBS+=-llua51
+else
+ LIBS+=-lluajit
endif
-LIBS=-Bstatic $(STATIC_LIBS) -Bdynamic $(DYNAMIC_LIBS)
-
-SLIBS=$(LIBLUA) $(LIBIRR) $(LIBBDY) $(LIBBCO) $(LIBBLM) $(LIBNAN)
+#can't compile with -std=c++11 because irrlicht will complain
+CXXFLAGS+=-Wall
+LDFLAGS+=$(LIBS)
+ifeq ($(DEBUG), true)
+else
+ CXXFLAGS += -static $(INCLUDE_PATHS) -D_IRR_STATIC_LIB_ -DNN_STATIC_LIB
+endif
-#can't compile with -std=c++11 because irrlicht will complain
-CFLAGS=-Wall -static $(INCLUDES) -D_IRR_STATIC_LIB_ -DNN_STATIC_LIB
-LDFLAGS=
ifeq ($(UNAME),Windows)
LDFLAGS+=-mwindows -lwinmm #-Wl,-subsystem,windows
STATIC_LIBS+=-lws2_32 -lmswsock -ladvapi32
@@ -106,120 +156,161 @@ ifeq ($(UNAME),true)
endif
ifeq ($(DEBUG),true)
- CFLAGS+=-g
+ CXXFLAGS+=-O0 -g
else
- CFLAGS+=-O3
+ CXXFLAGS+=-O3
#LDFLAGS+=--strip-all
endif
-all : $(CLIENT_PATH) $(SERVER_PATH)
+
+FSYSTEM_FOLDERS = lua_api phys util lua_api/irr lua_api/phys lua_api/gui lua_api/scene lua_api/video
+CLIENT_BUILD_FOLDERS = $(FSYSTEM_FOLDERS:%=$(BUILD_DIR)/$(CLIENTNAME)/%)
+
+all : $(BINS)
client : $(CLIENT_PATH)
server : $(SERVER_PATH)
+SHARED_CLIENT_FILES = lua_api/common phys/physcommon lua_api/phys/bphysbox util/hashmap lua_api/stream lua_api/load_net
+SHARED_CLIENT_OBJS = $(SHARED_CLIENT_FILES:%=$(BUILD_DIR)/$(CLIENTNAME)/%.o)
+
+# The client-side only stuff
+LAPI_GUI = iguibutton iguicheckbox iguielement iguiimage iguilabel iguiskin iguiutil iguiwindow
+LAPI_PHYS = bphysmodel cbphysbox
+LAPI_SCENE = icamera igeneric ilight imesh
+LAPI_VIDEO = iimage itexture smaterial
+LAPI_LOAD = load_gui load_game load_scene load_phys load_video
+LAPI_OBJS_T = $(LAPI_GUI:%=gui/%.o) $(LAPI_PHYS:%=phys/%.o) $(LAPI_SCENE:%=scene/%.o) $(LAPI_VIDEO:%=video/%.o)
+LAPI_OBJS = $(LAPI_OBJS_T:%=$(BUILD_DIR)/$(CLIENTNAME)/lua_api/%) $(LAPI_LOAD:%=$(BUILD_DIR)/$(CLIENTNAME)/lua_api/%.o)
+CLIENT_FILES = initdevice menuhandeler callbackhandeler
+CLIENT_SRCS = $(CLIENT_FILES:%=$(BUILD_DIR)/$(CLIENTNAME)/%.o) $(LAPI_OBJS)
+CLIENT_OBJS = $(BUILD_DIR)/$(CLIENTNAME)/main.o $(CLIENT_SRCS) $(SHARED_CLIENT_OBJS)
+
#Compile the client
-$(CLIENT_PATH) : $(CLIENT_BUILD)main.o $(CLIENT_BUILD)initdevice.o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_BUILD)load_gui.o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_BUILD)load_game.o $(CLIENT_BUILD)load_scene.o $(CLIENT_BUILD)load_phys.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)load_net.o $(CLIENT_BUILD)physcommon.o $(SLIBS) $(CLIENT_BUILD)load_video.o
- $(CC) $(CFLAGS) -o $(CLIENT_PATH) $(CLIENT_BUILD)*.o $(LIBRARIES) $(DYNAMIC_LIBS) $(STATIC_LIBS) $(SLIBS) $(LDFLAGS)
+$(BIN_DIR)/$(CLIENTNAME)/bin/$(EX_PRE)$(CLIENTNAME)$(EXE_EXT) : $(CLIENT_OBJS) $(LIB_OBJS)
+ $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
-$(CLIENT_BUILD)main.o : $(CLIENT_SRC)main.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)main.o $(CLIENT_SRC)main.cpp
+# does not have .hpp associated
+$(BUILD_DIR)/$(CLIENTNAME)/main.o : $(SRC_DIR)/client/main.cpp
+ $(CXX) $(CXXFLAGS) -c -o $@ $^
-$(CLIENT_BUILD)physcommon.o : $(SHARED_SRC)phys/physcommon.cpp $(SHARED_SRC)phys/physcommon.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)physcommon.o $(SHARED_SRC)phys/physcommon.cpp
+$(CLIENT_SRCS) : $(BUILD_DIR)/$(CLIENTNAME)/%.o : src/client/%.cpp $(SRC_DIR)/client/%.hpp
+ @echo "Building client $^"
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
-$(CLIENT_BUILD)load_net.o : $(SHARED_SRC)lua_api/load_net.cpp $(SHARED_SRC)lua_api/load_net.hpp $(CLIENT_BUILD)stream.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_net.o $(SHARED_SRC)lua_api/load_net.cpp
+$(SHARED_CLIENT_OBJS) : $(BUILD_DIR)/$(CLIENTNAME)/%.o : src/shared/%.cpp $(SRC_DIR)/shared/%.hpp
+ @echo "Building shared $<"
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
-$(CLIENT_BUILD)stream.o : $(SHARED_SRC)lua_api/stream.cpp $(SHARED_SRC)lua_api/stream.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)stream.o $(SHARED_SRC)lua_api/stream.cpp
+#$(BUILD_DIR)/$(CLIENTNAME)/lua_api/common.o : $(SRC_DIR)/shared/lua_api/common.c $(SRC_DIR)/shared/lua_api/common.h
+ #$(CXX) $(CXXFLAGS) -c -o $@ $^
+#$(CLIENT_OBJS) : build/%.o : src/%.cpp
+ #$(CXX) $(CXXFLAGS) -c -o $@ $^
-$(CLIENT_BUILD)common.o : $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)common.o $(SHARED_SRC)lua_api/common.c
+#$(CLIENT_BUILD)main.o : $(CLIENT_SRC)main.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)main.o $(CLIENT_SRC)main.cpp
-$(CLIENT_BUILD)initdevice.o : $(CLIENT_SRC)initdevice.cpp $(CLIENT_SRC)initdevice.hpp
- $(CC) $(CFLAGS) -c -static -o $(CLIENT_BUILD)initdevice.o $(CLIENT_SRC)initdevice.cpp
+#$(CLIENT_BUILD)physcommon.o : $(SHARED_SRC)phys/physcommon.cpp $(SHARED_SRC)phys/physcommon.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)physcommon.o $(SHARED_SRC)phys/physcommon.cpp
-$(CLIENT_BUILD)menuhandeler.o : $(CLIENT_SRC)menuhandeler.cpp $(CLIENT_SRC)menuhandeler.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_SRC)menuhandeler.cpp
+#$(CLIENT_BUILD)load_net.o : $(SHARED_SRC)lua_api/load_net.cpp $(SHARED_SRC)lua_api/load_net.hpp $(CLIENT_BUILD)stream.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_net.o $(SHARED_SRC)lua_api/load_net.cpp
-$(CLIENT_BUILD)load_game.o : $(CLIENT_SRC)lua_api/load_game.cpp $(CLIENT_SRC)lua_api/load_game.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_game.o $(CLIENT_SRC)lua_api/load_game.cpp
+#$(CLIENT_BUILD)stream.o : $(SHARED_SRC)lua_api/stream.cpp $(SHARED_SRC)lua_api/stream.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)stream.o $(SHARED_SRC)lua_api/stream.cpp
-$(CLIENT_BUILD)load_gui.o : $(CLIENT_BUILD)iguibutton.o $(CLIENT_BUILD)iguilabel.o $(CLIENT_BUILD)iguielement.o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_BUILD)iguiskin.o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/load_gui.cpp $(CLIENT_SRC)lua_api/load_gui.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_gui.o $(CLIENT_SRC)lua_api/load_gui.cpp
+#$(CLIENT_BUILD)common.o : $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)common.o $(SHARED_SRC)lua_api/common.c
-$(CLIENT_BUILD)iguiimage.o : $(CLIENT_SRC)lua_api/gui/iguiimage.cpp $(CLIENT_SRC)lua_api/gui/iguiimage.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/gui/iguiimage.cpp
+#$(CLIENT_BUILD)initdevice.o : $(CLIENT_SRC)initdevice.cpp $(CLIENT_SRC)initdevice.hpp
+ #$(CC) $(CFLAGS) -c -static -o $(CLIENT_BUILD)initdevice.o $(CLIENT_SRC)initdevice.cpp
-$(CLIENT_BUILD)iguiwindow.o : $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp $(CLIENT_SRC)lua_api/gui/iguiwindow.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp
+#$(CLIENT_BUILD)menuhandeler.o : $(CLIENT_SRC)menuhandeler.cpp $(CLIENT_SRC)menuhandeler.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_SRC)menuhandeler.cpp
-$(CLIENT_BUILD)iguiutil.o : $(CLIENT_SRC)lua_api/gui/iguiutil.cpp $(CLIENT_SRC)lua_api/gui/iguiutil.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiutil.cpp
+#$(CLIENT_BUILD)load_game.o : $(CLIENT_SRC)lua_api/load_game.cpp $(CLIENT_SRC)lua_api/load_game.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_game.o $(CLIENT_SRC)lua_api/load_game.cpp
-$(CLIENT_BUILD)load_video.o : $(CLIENT_SRC)lua_api/load_video.cpp $(CLIENT_SRC)lua_api/load_video.hpp $(CLIENT_BUILD)smaterial.o $(CLIENT_BUILD)itexture.o $(CLIENT_BUILD)iimage.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_video.o $(CLIENT_SRC)lua_api/load_video.cpp
+#$(CLIENT_BUILD)load_gui.o : $(CLIENT_BUILD)iguibutton.o $(CLIENT_BUILD)iguilabel.o $(CLIENT_BUILD)iguielement.o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_BUILD)iguiskin.o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/load_gui.cpp $(CLIENT_SRC)lua_api/load_gui.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_gui.o $(CLIENT_SRC)lua_api/load_gui.cpp
-$(CLIENT_BUILD)smaterial.o : $(CLIENT_SRC)lua_api/video/smaterial.cpp $(CLIENT_SRC)lua_api/video/smaterial.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)smaterial.o $(CLIENT_SRC)lua_api/video/smaterial.cpp
+#$(CLIENT_BUILD)iguiimage.o : $(CLIENT_SRC)lua_api/gui/iguiimage.cpp $(CLIENT_SRC)lua_api/gui/iguiimage.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/gui/iguiimage.cpp
-$(CLIENT_BUILD)itexture.o : $(CLIENT_SRC)lua_api/video/itexture.cpp $(CLIENT_SRC)lua_api/video/itexture.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)itexture.o $(CLIENT_SRC)lua_api/video/itexture.cpp
+#$(CLIENT_BUILD)iguiwindow.o : $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp $(CLIENT_SRC)lua_api/gui/iguiwindow.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp
-$(CLIENT_BUILD)iimage.o : $(CLIENT_SRC)lua_api/video/iimage.cpp $(CLIENT_SRC)lua_api/video/iimage.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iimage.o $(CLIENT_SRC)lua_api/video/iimage.cpp
+#$(CLIENT_BUILD)iguiutil.o : $(CLIENT_SRC)lua_api/gui/iguiutil.cpp $(CLIENT_SRC)lua_api/gui/iguiutil.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiutil.cpp
-$(CLIENT_BUILD)load_phys.o : $(CLIENT_BUILD)cbphysbox.o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/load_phys.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_phys.o $(CLIENT_SRC)lua_api/load_phys.cpp
+#$(CLIENT_BUILD)load_video.o : $(CLIENT_SRC)lua_api/load_video.cpp $(CLIENT_SRC)lua_api/load_video.hpp $(CLIENT_BUILD)smaterial.o $(CLIENT_BUILD)itexture.o $(CLIENT_BUILD)iimage.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_video.o $(CLIENT_SRC)lua_api/load_video.cpp
-$(CLIENT_BUILD)load_scene.o : $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)/lua_api/load_scene.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_scene.o $(CLIENT_SRC)lua_api/load_scene.cpp
+#$(CLIENT_BUILD)smaterial.o : $(CLIENT_SRC)lua_api/video/smaterial.cpp $(CLIENT_SRC)lua_api/video/smaterial.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)smaterial.o $(CLIENT_SRC)lua_api/video/smaterial.cpp
-$(CLIENT_BUILD)ilight.o : $(CLIENT_SRC)lua_api/scene/ilight.cpp $(CLIENT_SRC)lua_api/scene/ilight.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)ilight.o $(CLIENT_SRC)lua_api/scene/ilight.cpp
+#$(CLIENT_BUILD)itexture.o : $(CLIENT_SRC)lua_api/video/itexture.cpp $(CLIENT_SRC)lua_api/video/itexture.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)itexture.o $(CLIENT_SRC)lua_api/video/itexture.cpp
-$(CLIENT_BUILD)iguibutton.o : $(CLIENT_SRC)lua_api/gui/iguibutton.cpp $(CLIENT_SRC)lua_api/gui/iguibutton.hpp $(CLIENT_SRC)lua_api/guiparts.hpp $(CLIENT_SRC)callbackhandeler.hpp $(CLIENT_SRC)util/hashmap.h $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguibutton.o $(CLIENT_SRC)lua_api/gui/iguibutton.cpp
+#$(CLIENT_BUILD)iimage.o : $(CLIENT_SRC)lua_api/video/iimage.cpp $(CLIENT_SRC)lua_api/video/iimage.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iimage.o $(CLIENT_SRC)lua_api/video/iimage.cpp
-$(CLIENT_BUILD)iguilabel.o : $(CLIENT_SRC)lua_api/gui/iguilabel.cpp $(CLIENT_SRC)lua_api/gui/iguilabel.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguilabel.o $(CLIENT_SRC)lua_api/gui/iguilabel.cpp
+#$(CLIENT_BUILD)load_phys.o : $(CLIENT_BUILD)cbphysbox.o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/load_phys.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_phys.o $(CLIENT_SRC)lua_api/load_phys.cpp
-$(CLIENT_BUILD)iguicheckbox.o : $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp $(CLIENT_SRC)lua_api/gui/iguicheckbox.hpp $(SHARED_SRC)lua_api/common.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp
+#$(CLIENT_BUILD)load_scene.o : $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)/lua_api/load_scene.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_scene.o $(CLIENT_SRC)lua_api/load_scene.cpp
-$(CLIENT_BUILD)iguielement.o : $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp $(CLIENT_SRC)lua_api/gui/iguielement.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguielement.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp
+#$(CLIENT_BUILD)ilight.o : $(CLIENT_SRC)lua_api/scene/ilight.cpp $(CLIENT_SRC)lua_api/scene/ilight.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)ilight.o $(CLIENT_SRC)lua_api/scene/ilight.cpp
-$(CLIENT_BUILD)iguiskin.o : $(CLIENT_SRC)lua_api/gui/iguiskin.cpp $(CLIENT_SRC)lua_api/gui/iguiskin.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiskin.o $(CLIENT_SRC)lua_api/gui/iguiskin.cpp
+#$(CLIENT_BUILD)iguibutton.o : $(CLIENT_SRC)lua_api/gui/iguibutton.cpp $(CLIENT_SRC)lua_api/gui/iguibutton.hpp $(CLIENT_SRC)lua_api/guiparts.hpp $(CLIENT_SRC)callbackhandeler.hpp $(CLIENT_SRC)util/hashmap.h $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguibutton.o $(CLIENT_SRC)lua_api/gui/iguibutton.cpp
-$(CLIENT_BUILD)icamera.o : $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/icamera.cpp $(CLIENT_SRC)lua_api/scene/icamera.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)icamera.o $(CLIENT_SRC)lua_api/scene/icamera.cpp
+#$(CLIENT_BUILD)iguilabel.o : $(CLIENT_SRC)lua_api/gui/iguilabel.cpp $(CLIENT_SRC)lua_api/gui/iguilabel.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguilabel.o $(CLIENT_SRC)lua_api/gui/iguilabel.cpp
-$(CLIENT_BUILD)imesh.o : $(CLIENT_SRC)lua_api/scene/imesh.cpp $(CLIENT_SRC)lua_api/scene/imesh.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)imesh.o $(CLIENT_SRC)lua_api/scene/imesh.cpp
+#$(CLIENT_BUILD)iguicheckbox.o : $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp $(CLIENT_SRC)lua_api/gui/iguicheckbox.hpp $(SHARED_SRC)lua_api/common.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp
-$(CLIENT_BUILD)igeneric.o: $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_SRC)lua_api/scene/igeneric.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/igeneric.cpp
+#$(CLIENT_BUILD)iguielement.o : $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp $(CLIENT_SRC)lua_api/gui/iguielement.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguielement.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp
-$(CLIENT_BUILD)cbphysbox.o: $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp $(CLIENT_SRC)lua_api/phys/cbphysbox.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_BUILD)bphysbox.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp
+#$(CLIENT_BUILD)iguiskin.o : $(CLIENT_SRC)lua_api/gui/iguiskin.cpp $(CLIENT_SRC)lua_api/gui/iguiskin.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiskin.o $(CLIENT_SRC)lua_api/gui/iguiskin.cpp
-$(CLIENT_BUILD)bphysbox.o: $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)lua_api/phys/bphysbox.hpp $(CLIENT_BUILD)common.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysbox.o $(SHARED_SRC)lua_api/phys/bphysbox.cpp
+#$(CLIENT_BUILD)icamera.o : $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/icamera.cpp $(CLIENT_SRC)lua_api/scene/icamera.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)icamera.o $(CLIENT_SRC)lua_api/scene/icamera.cpp
-$(CLIENT_BUILD)bphysmodel.o: $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp $(CLIENT_SRC)lua_api/phys/bphysmodel.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp
+#$(CLIENT_BUILD)imesh.o : $(CLIENT_SRC)lua_api/scene/imesh.cpp $(CLIENT_SRC)lua_api/scene/imesh.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)imesh.o $(CLIENT_SRC)lua_api/scene/imesh.cpp
-$(CLIENT_BUILD)callbackhandeler.o : $(CLIENT_SRC)callbackhandeler.cpp $(CLIENT_SRC)callbackhandeler.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_SRC)callbackhandeler.cpp
+#$(CLIENT_BUILD)igeneric.o: $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_SRC)lua_api/scene/igeneric.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/igeneric.cpp
-$(CLIENT_BUILD)hashmap.o : $(CLIENT_SRC)util/hashmap.c $(CLIENT_SRC)util/hashmap.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)util/hashmap.c
+#$(CLIENT_BUILD)cbphysbox.o: $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp $(CLIENT_SRC)lua_api/phys/cbphysbox.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_BUILD)bphysbox.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp
+
+#$(CLIENT_BUILD)bphysbox.o: $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)lua_api/phys/bphysbox.hpp $(CLIENT_BUILD)common.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysbox.o $(SHARED_SRC)lua_api/phys/bphysbox.cpp
+
+#$(CLIENT_BUILD)bphysmodel.o: $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp $(CLIENT_SRC)lua_api/phys/bphysmodel.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp
+
+#$(CLIENT_BUILD)callbackhandeler.o : $(CLIENT_SRC)callbackhandeler.cpp $(CLIENT_SRC)callbackhandeler.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_SRC)callbackhandeler.cpp
+
+#$(CLIENT_BUILD)hashmap.o : $(CLIENT_SRC)util/hashmap.c $(CLIENT_SRC)util/hashmap.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)util/hashmap.c
#end compile client
+
+
#compile server
+SERVER_FILES = main hashmap common physcommon load_net load_phys
+SERVER_OBJS = $(SERVER_FILES:%=$(CLIENT_BUILD_DIR)/%.o)
+$(BIN_DIR)/$(SERVERNAME)/bin/$(EX_PRE)$(SERVERNAME)$(EXE_EXT) : $(SERVER_OBJS)
$(SERVER_PATH) : $(SERVER_BUILD)main.o $(SERVER_BUILD)hashmap.o $(SERVER_BUILD)common.o $(SERVER_BUILD)physcommon.o $(SERVER_BUILD)load_net.o $(SERVER_BUILD)load_phys.o
- $(CC) $(CFLAGS) -o $(SERVER_PATH) $(SERVER_BUILD)*.o $(LIBRARIES) $(STATIC_LIBS) $(SLIBS) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $(SERVER_PATH) $(SERVER_BUILD)*.o $(STATIC_LIBS) $(SLIBS) $(LDFLAGS)
$(SERVER_BUILD)main.o : $(SERVER_SRC)main.cpp $(SERVER_SRC)testclient.cpp
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)main.o $(SERVER_SRC)main.cpp
@@ -251,8 +342,8 @@ $(SERVER_BUILD)bphysbox.o : $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)
#compile libraries
$(LIBLUA) : $(ILUADIR)/Makefile
- sed -i "s/BUILDMODE= mixed/BUILDMODE= static/" $(ILUADIR)/Makefile
- cd $(ILUADIR) && $(MAKE)
+ @echo "Could not find $(LIBLUA), rebuilding"
+ cd $(ILUADIR) && $(MAKE) "BUILDMODE= static"
cp $(ILUADIR)/libluajit.a lib
IRRMAKEFLAGS=
@@ -261,40 +352,72 @@ ifeq ($(DEBUG),true)
IRRMAKEFLAGS+=NDEBUG=1
endif
ifeq ($(UNAME), Windows)
- IRRMAKEFLAGS=staticlib_win32
- IRRMADELIB=$(LIRRDIR)/lib/Win32-gcc
+ ifeq ($(DEBUG),true)
+ IRRMAKEFLAGS+=dynamiclib_win32
+ IRRMADELIB=$(LIRRDIR)/bin/Win32-gcc
+ else
+ IRRMAKEFLAGS=staticlib_win32
+ IRRMADELIB=$(LIRRDIR)/lib/Win32-gcc
+ endif
else
- IRRMAKEFLAGS=NDEBUG=1
IRRMADELIB=$(LIRRDIR)/lib/Linux
endif
-$(LIBIRR) : $(LIRRDIR)/source/Irrlicht/Makefile
+# Library - Irrlicht
+$(LIB_S_IRR) : $(IRRMADELIB)/libIrrlicht.a
+ cp $^ $@
+
+$(IRRMADELIB)/libIrrlicht.a : $(LIRRDIR)/source/Irrlicht/Makefile
cd $(LIRRDIR)/source/Irrlicht && $(MAKE) $(IRRMAKEFLAGS)
- cp $(IRRMADELIB)/libIrrlicht.a lib
-$(LIBBCO) : $(LBULDIR)/Makefile
+$(BIN_DIR)/$(CLIENTNAME)/bin/Irrlicht$(DYN_LIB_EXT) : $(IRRMADELIB)/Irrlicht$(DYN_LIB_EXT)
+ cp $^ $@
+
+$(IRRMADELIB)/lib/Irrlicht$(DYN_LIB_EXT) : $(LIRRDIR)/source/Irrlicht/Makefile
+ cd $(LIRRDIR)/source/Irrlicht && $(MAKE) $(IRRMAKEFLAGS)
+
+# Library - Lua
+$(BIN_DIR)/$(CLIENTNAME)/bin/lua51$(DYN_LIB_EXT) : $(LLUADIR)/src/lua51$(DYN_LIB_EXT)
+ cp $^ $@
+
+$(LIB_D_LUA) : $(LLUADIR)/src/Makefile
+ @echo "Could not find $(LLUADIR)/src/lua51$(DYN_LIB_EXT), rebuilding"
+ cd $(LLUADIR)/src && make "BUILDMODE= dynamic"
+
+# Library - Bullet
+#$(LIB_D_BCO) : $(LBULDIR)/src/BulletCollision/libBulletCollision.a
+ #cp $^ $@
+
+$(LIB_D_BCO) : $(LBULDIR)/Makefile
cd $(LBULDIR) && make BulletCollision
- cp $(LBULDIR)/src/BulletCollision/libBulletCollision.a lib
-$(LIBBDY) : $(LBULDIR)/Makefile
+#$(LIB_D_BDY) : $(LBULDIR)/src/BulletDynamics/libBulletDynamics.a
+ #cp $^ $@
+
+$(LIB_D_DY) : $(LBULDIR)/Makefile
cd $(LBULDIR) && make BulletDynamics
- cp $(LBULDIR)/src/BulletDynamics/libBulletDynamics.a lib
-$(LIBBLM) : $(LBULDIR)/Makefile
+#$(LIB_D_BLM) : $(LBULDIR)/src/LinearMath/libLinearMath.a
+ #cp $^ $@
+
+$(LIB_D_BLM) : $(LBULDIR)/Makefile
cd $(LBULDIR) && make LinearMath
- cp $(LBULDIR)/src/LinearMath/libLinearMath.a lib
$(LBULDIR)/Makefile : $(LBULDIR)/CMakeLists.txt
cd $(LBULDIR) && cmake $(CMAKE_FLAGS) -DBUILD_EXTRAS=off -DBUILD_DEMOS=off
-$(LIBNAN) : $(LNANDIR)/Makefile
- cd $(LNANDIR) && make
- cp $(LNANDIR)/libnanomsg.a lib
- # cp $(LNANDIR)/libnanomsg.dll $(CLIENT_DIR)
- # cp $(LNANDIR)/libnanomsg.dll $(SERVER_DIR)
+# Library - Nanomsg
+$(BIN_DIR)/$(CLIENTNAME)/bin/libnanomsg$(DYN_LIB_EXT) : $(LNANDIR)/dyn_lib/libnanomsg$(DYN_LIB_EXT)
+ cp $^ $@
+
+$(LIB_D_NAN) : $(LNANDIR)/dyn_lib/Makefile
+ cd $(LNANDIR)/dyn_lib/ && $(MAKE) nanomsg
-$(LNANDIR)/Makefile : $(LNANDIR)/CMakeLists.txt
- cd $(LNANDIR) && cmake -DNN_STATIC_LIB=ON $(CMAKE_FLAGS)
+$(LNANDIR)/dyn_lib/Makefile : $(LNANDIR)/CMakeLists.txt $(LNANDIR)/dyn_lib
+ cd $(LNANDIR)/dyn_lib && cmake $(CMAKE_FLAGS) ../
+
+$(LNANDIR)/dyn_lib :
+ mkdir $(LNANDIR)/dyn_lib
#compile & run tests
test: $(TEST_PATH)test_stream $(TEST_PATH)test_phys
@@ -310,8 +433,9 @@ $(TEST_PATH)test_phys : $(TEST_SRC)test_phys.cpp
$(CC) $(CFLAGS) -o $(TEST_PATH)test_phys $(TEST_SRC)test_phys.cpp $(SLIBS)
#end tests
+cleantest :
+ echo $(BUILDS:%=%/*.o)
+
clean :
- $(RM) $(SERVER_PATH)
- $(RM) $(CLIENT_PATH)
- $(RM) $(CLIENT_BUILD)*.o
- $(RM) $(SERVER_BUILD)*.o
+ $(RM) $(CLIENT_OBJS)
+ $(RM) $(BINS)
diff --git a/bin/client/bin/.gitignore b/bin/client/bin/.gitignore
index e69de29..8620bdd 100644
--- a/bin/client/bin/.gitignore
+++ b/bin/client/bin/.gitignore
@@ -0,0 +1,2 @@
+*.dll
+*.exe
diff --git a/bin/client/data/init.lua b/bin/client/data/init.lua
index 0631f01..8829e01 100644
--- a/bin/client/data/init.lua
+++ b/bin/client/data/init.lua
@@ -1,4 +1,7 @@
+dofile("../data/mahjong.lua")
+
+do return end
print("Phys was:",phys)
for k,v in pairs(phys) do
print(k,":",v)
diff --git a/bin/server/.gitignore b/bin/server/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/bin/server/.gitignore
diff --git a/bin/server/bin/.gitignore b/bin/server/bin/.gitignore
index e69de29..8620bdd 100644
--- a/bin/server/bin/.gitignore
+++ b/bin/server/bin/.gitignore
@@ -0,0 +1,2 @@
+*.dll
+*.exe
diff --git a/build/.gitignore b/build/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/.gitignore
diff --git a/build/client/lua_api/.gitignore b/build/client/lua_api/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/client/lua_api/.gitignore
diff --git a/build/client/lua_api/gui/.gitignore b/build/client/lua_api/gui/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/client/lua_api/gui/.gitignore
diff --git a/build/client/lua_api/phys/.gitignore b/build/client/lua_api/phys/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/client/lua_api/phys/.gitignore
diff --git a/build/client/lua_api/scene/.gitignore b/build/client/lua_api/scene/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/client/lua_api/scene/.gitignore
diff --git a/build/client/lua_api/video/.gitignore b/build/client/lua_api/video/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/client/lua_api/video/.gitignore
diff --git a/build/client/phys/.gitignore b/build/client/phys/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/client/phys/.gitignore
diff --git a/build/client/util/.gitignore b/build/client/util/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/client/util/.gitignore
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