mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Stop using CLUE2CHAR to translate clues into text; just do the obvious
sprintf in both locations (screen and print) that need it. Fixes a bug in which clues greater than 9 came out as hex digits in printed puzzles. [originally from svn r9765]
This commit is contained in:
14
loopy.c
14
loopy.c
@ -2997,14 +2997,9 @@ static void game_redraw_clue(drawing *dr, game_drawstate *ds,
|
|||||||
grid *g = state->game_grid;
|
grid *g = state->game_grid;
|
||||||
grid_face *f = g->faces + i;
|
grid_face *f = g->faces + i;
|
||||||
int x, y;
|
int x, y;
|
||||||
char c[3];
|
char c[20];
|
||||||
|
|
||||||
if (state->clues[i] < 10) {
|
sprintf(c, "%d", state->clues[i]);
|
||||||
c[0] = CLUE2CHAR(state->clues[i]);
|
|
||||||
c[1] = '\0';
|
|
||||||
} else {
|
|
||||||
sprintf(c, "%d", state->clues[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
face_text_pos(ds, g, f, &x, &y);
|
face_text_pos(ds, g, f, &x, &y);
|
||||||
draw_text(dr, x, y,
|
draw_text(dr, x, y,
|
||||||
@ -3339,10 +3334,9 @@ static void game_print(drawing *dr, game_state *state, int tilesize)
|
|||||||
grid_face *f = g->faces + i;
|
grid_face *f = g->faces + i;
|
||||||
int clue = state->clues[i];
|
int clue = state->clues[i];
|
||||||
if (clue >= 0) {
|
if (clue >= 0) {
|
||||||
char c[2];
|
char c[20];
|
||||||
int x, y;
|
int x, y;
|
||||||
c[0] = CLUE2CHAR(clue);
|
sprintf(c, "%d", state->clues[i]);
|
||||||
c[1] = '\0';
|
|
||||||
face_text_pos(ds, g, f, &x, &y);
|
face_text_pos(ds, g, f, &x, &y);
|
||||||
draw_text(dr, x, y,
|
draw_text(dr, x, y,
|
||||||
FONT_VARIABLE, ds->tilesize / 2,
|
FONT_VARIABLE, ds->tilesize / 2,
|
||||||
|
Reference in New Issue
Block a user