X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/a6bd4b9c9f5c5918bf56b50c5d31a4c31104c2ec..2337bd6d9f9f1cc31c33f34034c584d8ba6c87b7:/loopy.c diff --git a/loopy.c b/loopy.c index 43e96a7..1f95f41 100644 --- a/loopy.c +++ b/loopy.c @@ -201,7 +201,7 @@ static char const diffchars[] = DIFFLIST(ENCODE); SOLVERLIST(SOLVER_FN_DECL) static int (*(solver_fns[]))(solver_state *) = { SOLVERLIST(SOLVER_FN) }; static int const solver_diffs[] = { SOLVERLIST(SOLVER_DIFF) }; -const int NUM_SOLVERS = sizeof(solver_diffs)/sizeof(*solver_diffs); +static const int NUM_SOLVERS = sizeof(solver_diffs)/sizeof(*solver_diffs); struct game_params { int w, h; @@ -1901,7 +1901,7 @@ static char *new_game_desc(game_params *params, random_state *rs, if (grid_desc) { retval = snewn(strlen(grid_desc) + 1 + strlen(game_desc) + 1, char); - sprintf(retval, "%s%c%s", grid_desc, GRID_DESC_SEP, game_desc); + sprintf(retval, "%s%c%s", grid_desc, (int)GRID_DESC_SEP, game_desc); sfree(grid_desc); sfree(game_desc); } else { @@ -3548,7 +3548,6 @@ static void game_redraw_line(drawing *dr, game_drawstate *ds, grid *g = state->game_grid; grid_edge *e = g->edges + i; int x1, x2, y1, y2; - int xmin, ymin, xmax, ymax; int line_colour; if (state->line_errors[i]) @@ -3568,11 +3567,6 @@ static void game_redraw_line(drawing *dr, game_drawstate *ds, grid_to_screen(ds, g, e->dot1->x, e->dot1->y, &x1, &y1); grid_to_screen(ds, g, e->dot2->x, e->dot2->y, &x2, &y2); - xmin = min(x1, x2); - xmax = max(x1, x2); - ymin = min(y1, y2); - ymax = max(y1, y2); - if (line_colour == COL_FAINT) { static int draw_faint_lines = -1; if (draw_faint_lines < 0) { @@ -3786,9 +3780,9 @@ static float game_flash_length(game_state *oldstate, game_state *newstate, return 0.0F; } -static int game_is_solved(game_state *state) +static int game_status(game_state *state) { - return state->solved; + return state->solved ? +1 : 0; } static void game_print_size(game_params *params, float *x, float *y) @@ -3811,6 +3805,10 @@ static void game_print(drawing *dr, game_state *state, int tilesize) grid *g = state->game_grid; ds->tilesize = tilesize; + ds->textx = snewn(g->num_faces, int); + ds->texty = snewn(g->num_faces, int); + for (i = 0; i < g->num_faces; i++) + ds->textx[i] = ds->texty[i] = -1; for (i = 0; i < g->num_dots; i++) { int x, y; @@ -3880,6 +3878,9 @@ static void game_print(drawing *dr, game_state *state, int tilesize) } } } + + sfree(ds->textx); + sfree(ds->texty); } #ifdef COMBINED @@ -3917,7 +3918,7 @@ const struct game thegame = { game_redraw, game_anim_length, game_flash_length, - game_is_solved, + game_status, TRUE, FALSE, game_print_size, game_print, FALSE /* wants_statusbar */, FALSE, game_timing_state,