diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-09-03 09:58:41 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-09-03 09:58:41 +0000 |
| commit | 24bb721b3c1dc0b15d74ccecda03744357af558d (patch) | |
| tree | e4af6ea2eedb649b55689f141fb8bf343875165f /src/base/arenaFile.c | |
| parent | 85c0f71d6e90a451f64cd032a3e58157d57dc226 (diff) | |
- opravene regresnie, kotre vznikli, pri prepise naciatavania aren z *.zip
( a odstranene prebytocne subory z adresarovej struktury -- tie ktore su uz zabalene v zip )
git-svn-id: http://opensvn.csie.org/tuxanci_ng@265 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/base/arenaFile.c')
| -rw-r--r-- | src/base/arenaFile.c | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/src/base/arenaFile.c b/src/base/arenaFile.c index 25e0582..6c50d34 100644 --- a/src/base/arenaFile.c +++ b/src/base/arenaFile.c @@ -61,6 +61,7 @@ int getArenaValue(char *line, char *env, char *val, int len) } +#ifndef PUBLIC_SERVER image_t* loadImageFromArena(arenaFile_t *arenaFile, char *filename, char *group, char *name, int alpha) { char *extractFile; @@ -73,6 +74,18 @@ image_t* loadImageFromArena(arenaFile_t *arenaFile, char *filename, char *group, return image; } +#ifndef NO_SOUND +void loadMusicFromArena(arenaFile_t *arenaFile, char *filename, char *group, char *name) +{ + char *extractFile; + + extractFile = extractFileFromArchive(arenaFile->path, filename); + addMusic(extractFile, name, group); + deleteExtractFile(extractFile); +} +#endif +#endif + static void cmd_arena(arena_t **arena, char *line) { char str_image[STR_SIZE]; @@ -121,13 +134,13 @@ static void cmd_loadImage(arenaFile_t *arenaFile, char *line) if (getArenaValue(line, "alpha", str_alpha, STR_SIZE) != 0) return; - printf("str_file=%s str_name=%s str_alpha=%s\n", str_file, str_name, str_alpha); + //printf("str_file=%s str_name=%s str_alpha=%s\n", str_file, str_name, str_alpha); loadImageFromArena(arenaFile, str_file, IMAGE_GROUP_USER, str_name, isYesOrNO(str_alpha)); //addImageData(str_file, isYesOrNO(str_alpha), str_name, IMAGE_GROUP_USER); } -static void cmd_loadMusic(char *line) +static void cmd_loadMusic(arenaFile_t *arenaFile, char *line) { char str_file[STR_SIZE]; char str_name[STR_SIZE]; @@ -137,7 +150,8 @@ static void cmd_loadMusic(char *line) if (getArenaValue(line, "name", str_name, STR_SIZE) != 0) return; #ifndef NO_SOUND - addMusic(str_file, str_name, MUSIC_GROUP_USER); + //addMusic(str_file, str_name, MUSIC_GROUP_USER); + loadMusicFromArena(arenaFile, str_file, MUSIC_GROUP_USER, str_name); #endif } @@ -190,7 +204,7 @@ char *getArenaNetName(arenaFile_t *arenaFile) arenaFile_t* getArenaFileFormNetName(char *s) { int i; - +// for (i = 0; i < listArenaFile->count; i++) { arenaFile_t *arenaFile; @@ -213,6 +227,25 @@ arenaFile_t* getArenaFile(int n) return (arenaFile_t *)listArenaFile->list[n]; } +int getArenaFileID(arenaFile_t *arenaFile) +{ + int i; + + for (i = 0; i < listArenaFile->count; i++) + { + arenaFile_t *this; + + this = (arenaFile_t *)listArenaFile->list[i]; + + if( this == arenaFile) + { + return i; + } + } + + return -1; +} + arena_t* getArena(arenaFile_t *arenaFile) { textFile_t *ts; @@ -230,7 +263,7 @@ arena_t* getArena(arenaFile_t *arenaFile) if (strncmp(line, "loadImage", 9) == 0) cmd_loadImage(arenaFile, line); if (strncmp(line, "loadMusic", 9) == 0) - cmd_loadMusic(line); + cmd_loadMusic(arenaFile, line); if (strncmp(line, "playMusic", 9) == 0) cmd_playMusic(arena, line); #endif @@ -254,7 +287,7 @@ arenaFile_t* newArenaFile(char *path) new = malloc( sizeof(arenaFile_t) ); new->path = strdup(path); - extractFile = extractFileFromArchive(path, "mapa.map"); + extractFile = extractFileFromArchive(path, "arena.map"); new->map = loadTextFile(extractFile); deleteExtractFile(extractFile); @@ -283,6 +316,7 @@ void initArenaFile() char *line; line = (char *)( p->list->list[i] ); + if (strstr(line, ".zip") != NULL && strstr(line, "~") == NULL) { char path[STR_PATH_SIZE]; |