X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ffiles.c;h=b55395f409dd85d0b97a5e468d7157d69aaf7d24;hp=0a170578461ea44d0a42021d707c8299c9844229;hb=a765a89dce5dd3d870906dbe4580b62313117417;hpb=fce2b199f289e67a471d3bfe0bafe9decee86420 diff --git a/src/files.c b/src/files.c index 0a170578..b55395f4 100644 --- a/src/files.c +++ b/src/files.c @@ -7062,7 +7062,8 @@ static int SaveLevel_GRPX(FILE *file, struct LevelInfo *level, int element) return chunk_size; } -static void SaveLevelFromFilename(struct LevelInfo *level, char *filename) +static void SaveLevelFromFilename(struct LevelInfo *level, char *filename, + boolean save_as_template) { int chunk_size; int i; @@ -7126,7 +7127,7 @@ static void SaveLevelFromFilename(struct LevelInfo *level, char *filename) } /* if not using template level, check for non-default custom/group elements */ - if (!level->use_custom_template) + if (!level->use_custom_template || save_as_template) { for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++) { @@ -7162,14 +7163,14 @@ void SaveLevel(int nr) { char *filename = getDefaultLevelFilename(nr); - SaveLevelFromFilename(&level, filename); + SaveLevelFromFilename(&level, filename, FALSE); } void SaveLevelTemplate() { - char *filename = getDefaultLevelFilename(-1); + char *filename = getLocalLevelTemplateFilename(); - SaveLevelFromFilename(&level, filename); + SaveLevelFromFilename(&level, filename, TRUE); } boolean SaveLevelChecked(int nr)