From: simon Date: Wed, 28 Dec 2011 18:17:30 +0000 (+0000) Subject: Allow --save to work with --soln, causing saved game files to be X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/commitdiff_plain/91d3791cb52e807cda8bd0b250c12ce0e1398f6c Allow --save to work with --soln, causing saved game files to be written out with the Solve operation having already been performed. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@9375 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/gtk.c b/gtk.c index d45a76d..c156651 100644 --- a/gtk.c +++ b/gtk.c @@ -2698,6 +2698,16 @@ int main(int argc, char **argv) char *realname = snewn(40 + strlen(savefile) + strlen(savesuffix), char); sprintf(realname, "%s%d%s", savefile, i, savesuffix); + + if (soln) { + char *err = midend_solve(me); + if (err) { + fprintf(stderr, "%s: unable to show solution: %s\n", + realname, err); + return 1; + } + } + ctx.fp = fopen(realname, "w"); if (!ctx.fp) { fprintf(stderr, "%s: open: %s\n", realname, diff --git a/midend.c b/midend.c index 8f4e4c9..c1f3a01 100644 --- a/midend.c +++ b/midend.c @@ -1331,7 +1331,8 @@ char *midend_solve(midend *me) me->anim_time = 0.0; midend_finish_move(me); } - midend_redraw(me); + if (me->drawing) + midend_redraw(me); midend_set_timer(me); return NULL; }