X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Feditor.c;h=48e6feb0b41bed5abdcba92af917cd2d3e2173b1;hb=a3ea1329b254d1918dcf2fb0587516c68523cf02;hp=351818540394017ad7b7cdb725ed3cce722d19d6;hpb=0281b0b196bdb10b3ee17d93c6db75f90de31458;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 35181854..48e6feb0 100644 --- a/src/editor.c +++ b/src/editor.c @@ -11376,8 +11376,7 @@ static void HandleTextbuttonGadgets(struct GadgetInfo *gi) } else if (type_id == ED_TEXTBUTTON_ID_SAVE_AS_TEMPLATE) { - char *template_filename = getDefaultLevelFilename(-1); - boolean new_template = !fileExists(template_filename); + boolean new_template = !fileExists(getLocalLevelTemplateFilename()); /* backup original "level.field" (needed to track playfield changes) */ CopyPlayfield(level.field, FieldBackup); @@ -11502,13 +11501,23 @@ static void HandleCheckbuttons(struct GadgetInfo *gi) } else if (type_id == ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE) { - char *template_filename = getDefaultLevelFilename(-1); - - if (level.use_custom_template && !fileExists(template_filename)) + if (level.use_custom_template && + !fileExists(getGlobalLevelTemplateFilename())) { Request("No level template found!", REQ_CONFIRM); level.use_custom_template = FALSE; + + ModifyGadget(gi, GDI_CHECKED, FALSE, GDI_END); + + return; + } + + if (level.use_custom_template && + !Request("Discard changes and use level template?", REQ_ASK)) + { + level.use_custom_template = FALSE; + ModifyGadget(gi, GDI_CHECKED, FALSE, GDI_END); return;