summaryrefslogtreecommitdiff
path: root/src/base/arenaFile.c
diff options
context:
space:
mode:
authorDusan Durech <dusan.d@centrum.sk>2008-10-31 15:03:06 +0100
committerDusan Durech <dusan.d@centrum.sk>2008-10-31 15:03:06 +0100
commitb361c7bc3532f22caf053b779ba970de8c346893 (patch)
tree428db786fb7ea006dd2767d79b11db3c9526076a /src/base/arenaFile.c
parent26958da9d09934cc162fafc7dd159bf449858c16 (diff)
podpora downServera v gameServery ;)
Diffstat (limited to 'src/base/arenaFile.c')
-rw-r--r--src/base/arenaFile.c37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/base/arenaFile.c b/src/base/arenaFile.c
index f6f3935..1a16cbf 100644
--- a/src/base/arenaFile.c
+++ b/src/base/arenaFile.c
@@ -308,22 +308,17 @@ void loadArenaFile(char *path)
addList(listArenaFile, newArenaFile(path));
}
-void initArenaFile()
+static void loadArenaFromDirector(char *director)
{
director_t *p;
int i;
-#ifndef PUBLIC_SERVER
- assert(isImageInicialized() == TRUE);
-#endif
- isArenaFileInit = TRUE;
- listArenaFile = newList();
-
- p = loadDirector(PATH_ARENA);
+ printf(_("Load arena file from %s\n"), director);
+ p = loadDirector(director);
if (p==NULL)
{
- fprintf(stderr, _("Director " PATH_ARENA " not found !\n"));
+ fprintf(stderr, _("Director %s not found !\n"), director);
exit(-1);
}
@@ -335,7 +330,14 @@ void initArenaFile()
if (strstr(line, ".zip") != NULL && strstr(line, "~") == NULL) {
char path[STR_PATH_SIZE];
- sprintf(path, PATH_ARENA "%s", line);
+ if( director[strlen(director)-1] == '/' )
+ {
+ sprintf(path, "%s%s", director, line);
+ }
+ else
+ {
+ sprintf(path, "%s/%s", director, line);
+ }
#ifdef DEBUG
printf(_("Loading arena: %s\n"), line);
#endif
@@ -343,8 +345,23 @@ void initArenaFile()
loadArenaFile(path);
}
}
+
//printf("No. of Arens: %d\n", listArenaFile->count);
destroyDirector(p);
+
+}
+
+void initArenaFile()
+{
+#ifndef PUBLIC_SERVER
+ assert(isImageInicialized() == TRUE);
+#endif
+ isArenaFileInit = TRUE;
+ listArenaFile = newList();
+
+ loadArenaFromDirector(PATH_ARENA);
+ loadArenaFromDirector(getHomeDirector());
+
}
void quitArenaFile()