diff options
| author | Simon Tatham <anakin@pobox.com> | 2011-12-28 18:17:30 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2011-12-28 18:17:30 +0000 |
| commit | 7024735f89c7b04b57e7ea41d5104a3455c91348 (patch) | |
| tree | 249519cde28cd309d8a8d85d5e11adbfe4566652 | |
| parent | b5cb02b61ac70ce92631c1a39d66e7668e870c8a (diff) | |
| download | puzzles-7024735f89c7b04b57e7ea41d5104a3455c91348.zip puzzles-7024735f89c7b04b57e7ea41d5104a3455c91348.tar.gz puzzles-7024735f89c7b04b57e7ea41d5104a3455c91348.tar.bz2 puzzles-7024735f89c7b04b57e7ea41d5104a3455c91348.tar.xz | |
Allow --save to work with --soln, causing saved game files to be
written out with the Solve operation having already been performed.
[originally from svn r9375]
| -rw-r--r-- | gtk.c | 10 | ||||
| -rw-r--r-- | midend.c | 3 |
2 files changed, 12 insertions, 1 deletions
@@ -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, @@ -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; } |