X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=1287d1ecd2d1fe041f9edf408ffaa75944c49e17;hb=7f77c2e8dcb7ad575fcaf89512f4f616846c8b41;hp=deff36d69d6824171a8b05abd1aa573c420f5100;hpb=cf23d62727053bfef711fb08fb4894e0936b9645;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index deff36d6..1287d1ec 100644 --- a/src/files.c +++ b/src/files.c @@ -5276,6 +5276,25 @@ void SaveLevelTemplate() SaveLevelFromFilename(&level, filename); } +boolean SaveLevelChecked(int nr) +{ + char *filename = getDefaultLevelFilename(nr); + boolean new_level = !fileExists(filename); + boolean level_saved = FALSE; + + if (new_level || Request("Save this level and kill the old ?", REQ_ASK)) + { + SaveLevel(nr); + + if (new_level) + Request("Level saved !", REQ_CONFIRM); + + level_saved = TRUE; + } + + return level_saved; +} + void DumpLevel(struct LevelInfo *level) { if (level->no_valid_file) @@ -5704,7 +5723,9 @@ void SaveTape(int nr) { char *filename = getTapeFilename(nr); FILE *file; +#if 0 boolean new_tape = TRUE; +#endif int num_participating_players = 0; int info_chunk_size; int body_chunk_size; @@ -5712,6 +5733,7 @@ void SaveTape(int nr) InitTapeDirectory(leveldir_current->subdir); +#if 0 /* if a tape still exists, ask to overwrite it */ if (fileExists(filename)) { @@ -5719,6 +5741,7 @@ void SaveTape(int nr) if (!Request("Replace old tape ?", REQ_ASK)) return; } +#endif if (!(file = fopen(filename, MODE_WRITE))) { @@ -5758,8 +5781,29 @@ void SaveTape(int nr) tape.changed = FALSE; +#if 0 if (new_tape) Request("Tape saved !", REQ_CONFIRM); +#endif +} + +boolean SaveTapeChecked(int nr) +{ + char *filename = getTapeFilename(nr); + boolean new_tape = !fileExists(filename); + boolean tape_saved = FALSE; + + if (new_tape || Request("Replace old tape ?", REQ_ASK)) + { + SaveTape(nr); + + if (new_tape) + Request("Tape saved !", REQ_CONFIRM); + + tape_saved = TRUE; + } + + return tape_saved; } void DumpTape(struct TapeInfo *tape)