aboutsummaryrefslogtreecommitdiff
path: root/midend.c
diff options
context:
space:
mode:
Diffstat (limited to 'midend.c')
-rw-r--r--midend.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/midend.c b/midend.c
index 300e2bf..0c8b3c0 100644
--- a/midend.c
+++ b/midend.c
@@ -1336,6 +1336,21 @@ char *midend_solve(midend *me)
return NULL;
}
+int midend_is_solved(midend *me)
+{
+ /*
+ * We should probably never be called when the state stack has no
+ * states on it at all - ideally, midends should never be left in
+ * that state for long enough to get put down and forgotten about.
+ * But if we are, I think we return _true_ - pedantically speaking
+ * a midend in that state is 'vacuously solved', and more
+ * practically, a user whose midend has been left in that state
+ * probably _does_ want the 'new game' option to be prominent.
+ */
+ return (me->statepos == 0 ||
+ me->ourgame->is_solved(me->states[me->statepos-1].state));
+}
+
char *midend_rewrite_statusbar(midend *me, char *text)
{
/*