aboutsummaryrefslogtreecommitdiff
path: root/src/client/initdevice.cpp
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2018-10-03 17:46:45 -0400
committerAlexander Pickering <alex@cogarr.net>2018-10-03 17:46:45 -0400
commit6e8ef86afc5a559ff4df7f43bec53f82a9060731 (patch)
treeef2b4384c932d336c700ba9db6c01d8a2d5b6197 /src/client/initdevice.cpp
parent1c790cc19e92d8ad9d74c637de51175159f6bdd2 (diff)
downloadbrokengine-6e8ef86afc5a559ff4df7f43bec53f82a9060731.tar.gz
brokengine-6e8ef86afc5a559ff4df7f43bec53f82a9060731.tar.bz2
brokengine-6e8ef86afc5a559ff4df7f43bec53f82a9060731.zip
Allow brokengine to start projects in other directories
Allow the second argument passed to brokengine on the command line specify the location of the data/ folder the program uses.
Diffstat (limited to 'src/client/initdevice.cpp')
-rw-r--r--src/client/initdevice.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/client/initdevice.cpp b/src/client/initdevice.cpp
index 79b6706..c7535a0 100644
--- a/src/client/initdevice.cpp
+++ b/src/client/initdevice.cpp
@@ -173,14 +173,18 @@ void settingsFromTable(lua_State *L, SIrrlichtCreationParameters* p){
printf("[OK]\n");
}
-IrrlichtDevice* spawnIrrDevice(lua_State* L){
+IrrlichtDevice* spawnIrrDevice(lua_State* L, char *path){
//printf("Attempting to load settings...\n");
- int iErr = luaL_dofile(L,"../data/deviceinit.lua");
+ char initname[] = "deviceinit.lua";
+ size_t pathlen = strlen(initname) + strlen(path);
+ char filename[pathlen + 1];
+ sprintf(filename,"%s/%s",path,initname);
+ int iErr = luaL_dofile(L,filename);
SIrrlichtCreationParameters p = SIrrlichtCreationParameters();
- settingsFromTable(L,&p);
if(iErr != 0){
- printf("Failed to open lua file:/data/deviceinit.lua\n");
+ printf("Failed to open lua file:%s\n", filename);
}
+ settingsFromTable(L,&p);
IrrlichtDevice* dev = createDeviceEx(p);
if(!dev)
exit(1);