Commit 83c3ff40 authored by mercury233's avatar mercury233

Add support for load cards from /expansions

The /expansions folder should contains .cdb file(s) and script folder (all scripts go here)
parent 16a5b67a
......@@ -38,6 +38,25 @@ unsigned char draw_count;
void Game::MainServerLoop(int bDuel_mode, int lflist) {
deckManager.LoadLFList();
dataManager.LoadDB("cards.cdb");
//load expansions
DIR * dir;
struct dirent * dirp;
const char *foldername = "./expansions/";
if((dir = opendir(foldername)) != NULL) {
while((dirp = readdir(dir)) != NULL) {
size_t len = strlen(dirp->d_name);
if(len < 5 || strcasecmp(dirp->d_name + len - 4, ".cdb") != 0)
continue;
char *filepath = (char *)malloc(sizeof(char)*(len + strlen(foldername)));
strncpy(filepath, foldername, strlen(foldername)+1);
strncat(filepath, dirp->d_name, len);
dataManager.LoadDB(filepath);
free(filepath);
}
closedir(dir);
}
aServerPort = NetServer::StartServer(aServerPort);
NetServer::Initduel(bDuel_mode, lflist);
printf("%u\n", aServerPort);
......
......@@ -664,7 +664,10 @@ int32 interpreter::load_card_script(uint32 code) {
//load extra scripts
sprintf(script_name, "./script/c%d.lua", code);
if (!load_script(script_name)) {
return OPERATION_FAIL;
sprintf(script_name, "./expansions/script/c%d.lua", code);
if (!load_script(script_name)) {
return OPERATION_FAIL;
}
}
}
return OPERATION_SUCCESS;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment