X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/0dc6df563b8adda28a305ff9c5276b05441a9753..40785ed96c9dbe9a5a630b69faa0bbc9a8435091:/guess.c diff --git a/guess.c b/guess.c index 38cdf25..8cab1a4 100644 --- a/guess.c +++ b/guess.c @@ -1210,10 +1210,9 @@ static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate, game_state *state, int dir, game_ui *ui, float animtime, float flashtime) { - int i, new_move, last_go; + int i, new_move; new_move = (state->next_go != ds->next_go) || !ds->started; - last_go = (state->next_go == state->params.nguesses-1); if (!ds->started) { draw_rect(dr, 0, 0, ds->w, ds->h, COL_BACKGROUND); @@ -1314,6 +1313,18 @@ static float game_flash_length(game_state *oldstate, game_state *newstate, return 0.0F; } +static int game_is_solved(game_state *state) +{ + /* + * We return true whenever the solution has been revealed, even + * (on spoiler grounds) if it wasn't guessed correctly. + * + * However, in that situation, 'solved' is still true, so we don't + * have to make any effort to arrange this. + */ + return state->solved; +} + static int game_timing_state(game_state *state, game_ui *ui) { return TRUE; @@ -1362,6 +1373,7 @@ const struct game thegame = { game_redraw, game_anim_length, game_flash_length, + game_is_solved, FALSE, FALSE, game_print_size, game_print, FALSE, /* wants_statusbar */ FALSE, game_timing_state,