nc_place = mark_pegs(ret->guesses[from->next_go], ret->solution, ret->params.ncolours);
if (nc_place == ret->solution->npegs) {
nc_place = mark_pegs(ret->guesses[from->next_go], ret->solution, ret->params.ncolours);
if (nc_place == ret->solution->npegs) {
game_state *state, int dir, game_ui *ui,
float animtime, float flashtime)
{
game_state *state, int dir, game_ui *ui,
float animtime, float flashtime)
{
if (!ds->started) {
draw_rect(dr, 0, 0, ds->w, ds->h, COL_BACKGROUND);
if (!ds->started) {
draw_rect(dr, 0, 0, ds->w, ds->h, COL_BACKGROUND);
currmove_redraw(dr, ds, state->next_go, COL_HOLD);
/* draw the solution (or the big rectangle) */
currmove_redraw(dr, ds, state->next_go, COL_HOLD);
/* draw the solution (or the big rectangle) */
draw_rect(dr, SOLN_OX, SOLN_OY, SOLN_W, SOLN_H,
state->solved ? COL_BACKGROUND : COL_EMPTY);
draw_update(dr, SOLN_OX, SOLN_OY, SOLN_W, SOLN_H);
draw_rect(dr, SOLN_OX, SOLN_OY, SOLN_W, SOLN_H,
state->solved ? COL_BACKGROUND : COL_EMPTY);
draw_update(dr, SOLN_OX, SOLN_OY, SOLN_W, SOLN_H);
- debug(("Saving to blitter at (%d,%d)", ox, oy));
- blitter_save(dr, ds->blit_peg, ox, oy);
+ ds->blit_ox = ox - 1; ds->blit_oy = oy - 1;
+ debug(("Saving to blitter at (%d,%d)", ds->blit_ox, ds->blit_oy));
+ blitter_save(dr, ds->blit_peg, ds->blit_ox, ds->blit_oy);
draw_peg(dr, ds, ox, oy, TRUE, ui->show_labels, ui->drag_col);
draw_peg(dr, ds, ox, oy, TRUE, ui->show_labels, ui->drag_col);
- * 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.
+ * We return nonzero whenever the solution has been revealed, even
+ * (on spoiler grounds) if it wasn't guessed correctly. The
+ * correct return value from this function is already in
+ * state->solved.
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,