X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=d857883730534d1ce66596dbc418270bbf603380;hb=d8b93bc26350fed8eef779af50267f9cab93612e;hp=5784ac496183c72cf174fecd4649a923f3648908;hpb=cb69ffb72a904eb0704c7f0e6c593bfee19562df;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index 5784ac49..d8578837 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -3525,24 +3525,20 @@ boolean UpdateUserLevelSet(char *level_subdir, FILE *file = NULL; FILE *file_tmp = NULL; char line[MAX_LINE_LEN]; - boolean update_num_levels_only = FALSE; boolean success = FALSE; - if (level_name == NULL || level_author == NULL || first_level_nr == -1) - update_num_levels_only = TRUE; - if ((file = fopen(filename, MODE_READ)) && (file_tmp = fopen(filename_tmp, MODE_WRITE))) { while (fgets(line, MAX_LINE_LEN, file)) { - if (strPrefix(line, "name:") && !update_num_levels_only) + if (strPrefix(line, "name:") && level_name != NULL) fprintf(file_tmp, "%-32s%s\n", "name:", level_name); - else if (strPrefix(line, "author:") && !update_num_levels_only) + else if (strPrefix(line, "author:") && level_author != NULL) fprintf(file_tmp, "%-32s%s\n", "author:", level_author); - else if (strPrefix(line, "levels:")) + else if (strPrefix(line, "levels:") && num_levels != -1) fprintf(file_tmp, "%-32s%d\n", "levels:", num_levels); - else if (strPrefix(line, "first_level:") && !update_num_levels_only) + else if (strPrefix(line, "first_level:") && first_level_nr != -1) fprintf(file_tmp, "%-32s%d\n", "first_level:", first_level_nr); else fputs(line, file_tmp); @@ -3616,7 +3612,8 @@ boolean CreateUserLevelSet(char *level_subdir, fprintf(file, "%s\n", getSetupLine(levelinfo_tokens, "", i)); /* just to make things nicer :) */ - if (i == LEVELINFO_TOKEN_AUTHOR) + if (i == LEVELINFO_TOKEN_AUTHOR || + i == LEVELINFO_TOKEN_FIRST_LEVEL) fprintf(file, "\n"); }