(bgcolour != ds->bgcolour || /* always redraw when flashing */
v != ds->grid[y*w+x])) {
draw_tile(dr, ds, COORD(x), COORD(y), v, bgcolour);
(bgcolour != ds->bgcolour || /* always redraw when flashing */
v != ds->grid[y*w+x])) {
draw_tile(dr, ds, COORD(x), COORD(y), v, bgcolour);
+static int game_status(game_state *state)
+{
+ /*
+ * Dead-end situations are assumed to be rescuable by Undo, so we
+ * don't bother to identify them and return -1.
+ */
+ return state->completed ? +1 : 0;
+}
+
FALSE, FALSE, game_print_size, game_print,
FALSE, /* wants_statusbar */
FALSE, game_timing_state,
FALSE, FALSE, game_print_size, game_print,
FALSE, /* wants_statusbar */
FALSE, game_timing_state,