diff options
| author | Dusan Durech <dusan@debian.(none)> | 2008-11-11 23:39:21 +0100 |
|---|---|---|
| committer | Dusan Durech <dusan@debian.(none)> | 2008-11-11 23:39:21 +0100 |
| commit | 957f3411170ca1d5f30ee2e2c4e25393195cce75 (patch) | |
| tree | 18567d663d6d759d447b65458a410f426dae9044 /src/base/arenaFile.c | |
| parent | de05256afe45ad24cda83ed1e2cf873c97de132c (diff) | |
modification coding stile :)
Diffstat (limited to 'src/base/arenaFile.c')
| -rw-r--r-- | src/base/arenaFile.c | 55 |
1 files changed, 37 insertions, 18 deletions
diff --git a/src/base/arenaFile.c b/src/base/arenaFile.c index 1a16cbf..cd76561 100644 --- a/src/base/arenaFile.c +++ b/src/base/arenaFile.c @@ -44,27 +44,36 @@ int getArenaValue(char *line, char *env, char *val, int len) strcpy(clone_env, " "); strcat(clone_env, env); + offset_env = strstr(line, clone_env); + if (offset_env == NULL) return -1; + offset_val_begin = strchr(offset_env, '"'); + if (offset_val_begin == NULL) return -1; + offset_val_end = strchr(offset_val_begin + 1, '"'); + if (offset_val_end == NULL) return -1; + val_len = (int) (offset_val_end - (offset_val_begin + 1)); + if (val_len > len - 1) val_len = len - 1; + memset(val, 0, len); memcpy(val, offset_val_begin + 1, val_len); + return 0; } #ifndef PUBLIC_SERVER -image_t *loadImageFromArena(arenaFile_t * arenaFile, char *filename, - char *group, char *name, int alpha) +image_t *loadImageFromArena(arenaFile_t * arenaFile, char *filename, char *group, char *name, int alpha) { char *extractFile; image_t *image; @@ -76,10 +85,8 @@ image_t *loadImageFromArena(arenaFile_t * arenaFile, char *filename, return image; } -# ifndef NO_SOUND -void -loadMusicFromArena(arenaFile_t * arenaFile, char *filename, char *group, - char *name) +#ifndef NO_SOUND +void loadMusicFromArena(arenaFile_t * arenaFile, char *filename, char *group, char *name) { char *extractFile; @@ -87,7 +94,7 @@ loadMusicFromArena(arenaFile_t * arenaFile, char *filename, char *group, addMusic(extractFile, name, group); deleteExtractFile(extractFile); } -# endif +#endif #endif static void cmd_arena(arena_t ** arena, char *line) @@ -98,10 +105,13 @@ static void cmd_arena(arena_t ** arena, char *line) if (getArenaValue(line, "background", str_image, STR_SIZE) != 0) return; + if (getArenaValue(line, "w", str_w, STR_SIZE) != 0) return; + if (getArenaValue(line, "h", str_h, STR_SIZE) != 0) return; + (*arena) = newArena(atoi(str_w), atoi(str_h)); #ifndef PUBLIC_SERVER (*arena)->background = getImage(IMAGE_GROUP_USER, str_image); @@ -120,6 +130,7 @@ static void cmd_loadModule(char *line) if (getArenaValue(line, "file", str_file, STR_SIZE) != 0) return; + loadModule(str_file); } @@ -133,14 +144,15 @@ static void cmd_loadImage(arenaFile_t * arenaFile, char *line) if (getArenaValue(line, "file", str_file, STR_SIZE) != 0) return; + if (getArenaValue(line, "name", str_name, STR_SIZE) != 0) return; + 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); - loadImageFromArena(arenaFile, str_file, IMAGE_GROUP_USER, str_name, - isYesOrNO(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); } @@ -152,8 +164,10 @@ static void cmd_loadMusic(arenaFile_t * arenaFile, char *line) if (getArenaValue(line, "file", str_file, STR_SIZE) != 0) return; + if (getArenaValue(line, "name", str_name, STR_SIZE) != 0) return; + # ifndef NO_SOUND //addMusic(str_file, str_name, MUSIC_GROUP_USER); loadMusicFromArena(arenaFile, str_file, MUSIC_GROUP_USER, str_name); @@ -166,6 +180,7 @@ static void cmd_playMusic(arena_t * arena, char *line) if (getArenaValue(line, "music", str_music, STR_SIZE) != 0) return; + strcpy(arena->music, str_music); } #endif @@ -181,12 +196,16 @@ static char *getArenaStatus(textFile_t * ts, char *s) int i; len = strlen(s); + for (i = 0; i < ts->text->count; i++) { char *line; + line = (char *) (ts->text->list[i]); + if (strncmp(line, s, len) == 0) return line + len + 1; } + return NULL; } @@ -209,11 +228,12 @@ char *getArenaNetName(arenaFile_t * arenaFile) arenaFile_t *getArenaFileFormNetName(char *s) { int i; -// + for (i = 0; i < listArenaFile->count; i++) { arenaFile_t *arenaFile; arenaFile = (arenaFile_t *) listArenaFile->list[i]; + if (strcmp(getArenaNetName(arenaFile), s) == 0) return arenaFile; } @@ -264,18 +284,19 @@ arena_t *getArena(arenaFile_t * arenaFile) #ifndef PUBLIC_SERVER if (strncmp(line, "loadImage", 9) == 0) cmd_loadImage(arenaFile, line); + if (strncmp(line, "loadMusic", 9) == 0) cmd_loadMusic(arenaFile, line); + if (strncmp(line, "playMusic", 9) == 0) cmd_playMusic(arena, line); + #endif if (strncmp(line, "arena", 5) == 0) cmd_arena(&arena, line); + if (strncmp(line, "loadModule", 10) == 0) cmd_loadModule(line); - //if( strncmp(line, "wall", 4) == 0 )cmd_wall(arena, line); - //if( strncmp(line, "teleport", 8) == 0 )cmd_teleport(arena, line); - //if( strncmp(line, "pipe", 4) == 0 )cmd_pipe(arena, line); } return arena; @@ -327,15 +348,13 @@ static void loadArenaFromDirector(char *director) line = (char *) (p->list->list[i]); - if (strstr(line, ".zip") != NULL && strstr(line, "~") == NULL) { + if (strstr(line, ".zip") != NULL && strstr(line, "~")==NULL) { char path[STR_PATH_SIZE]; - if( director[strlen(director)-1] == '/' ) - { + if (director[strlen(director)-1]=='/') { sprintf(path, "%s%s", director, line); } - else - { + else { sprintf(path, "%s/%s", director, line); } #ifdef DEBUG |