aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guess.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/guess.c b/guess.c
index 6a4bddb..a68b1f0 100644
--- a/guess.c
+++ b/guess.c
@@ -1291,15 +1291,17 @@ static void guess_redraw(drawing *dr, game_drawstate *ds, int guess,
if ((dest->pegs[i] != scol) || force) {
draw_peg(dr, ds, rowx + PEGOFF * i, rowy, false, labelled,
scol &~ 0x7000);
+ if (scol & 0x1000)
+ draw_cursor(dr, ds, rowx + PEGOFF * i, rowy);
/*
* Hold marker.
*/
- draw_rect(dr, rowx + PEGOFF * i, rowy + PEGSZ + ds->gapsz/2,
- PEGSZ, 2, (scol & 0x2000 ? COL_HOLD : COL_BACKGROUND));
- draw_update(dr, rowx + PEGOFF * i, rowy + PEGSZ + ds->gapsz/2,
- PEGSZ, 2);
- if (scol & 0x1000)
- draw_cursor(dr, ds, rowx + PEGOFF * i, rowy);
+ if (scol & 0x2000) {
+ draw_rect(dr, rowx + PEGOFF * i,
+ rowy + PEGSZ + ds->gapsz/2 - 2, PEGSZ, 2, COL_HOLD);
+ }
+ draw_update(dr, rowx + PEGOFF * i,
+ rowy + PEGSZ + ds->gapsz/2 - 2, PEGSZ, 2);
}
dest->pegs[i] = scol;
}
@@ -1424,8 +1426,7 @@ static void game_redraw(drawing *dr, game_drawstate *ds,
}
}
- /* draw the guesses (so far) and the hints
- * (in reverse order to avoid trampling holds, and postponing the
+ /* draw the guesses (so far) and the hints (postponing the
* next_go'th to not overrender the top of the circular cursor) */
for (i = state->params.nguesses - 1; i >= 0; i--) {
if (i < state->next_go || state->solved) {