X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_caveset.c;h=cce3692d34bd28d49fc70938d71ccdf01806ec89;hb=157fb76461d332a22233e6664cd294d7db5d3558;hp=0e04806b66af742fa078e23c5926337de8fe3d97;hpb=bd560c53129c84976b87827f1978ddf8de4ed57a;p=rocksndiamonds.git diff --git a/src/game_bd/bd_caveset.c b/src/game_bd/bd_caveset.c index 0e04806b..cce3692d 100644 --- a/src/game_bd/bd_caveset.c +++ b/src/game_bd/bd_caveset.c @@ -611,6 +611,41 @@ boolean gd_caveset_load_from_file(char *filename) return TRUE; } +boolean gd_caveset_save_to_file(const char *filename) +{ + GdPtrArray *saved = gd_caveset_save_to_bdcff(); + boolean success; + File *file; + int i; + + if ((file = openFile(filename, MODE_WRITE)) != NULL) + { + for (i = 0; i < saved->size; i++) + { + writeFile(file, saved->data[i], 1, strlen(saved->data[i])); + writeFile(file, "\n", 1, 1); + } + + closeFile(file); + + /* remember that it is saved */ + gd_caveset_edited = FALSE; + + success = TRUE; + } + else + { + Warn("cannot open file '%s'", filename); + + success = FALSE; + } + + gd_ptr_array_free(saved, TRUE); + + return success; +} + + int gd_cave_check_replays(GdCave *cave, boolean report, boolean remove, boolean repair) { List *riter;