X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/72c158219fd9dbf19a01f2bf62303627a5e414e4..ed375bd341a1d52ffd27a3245980bcb970b10848:/loopy.c diff --git a/loopy.c b/loopy.c index 8617c72..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 { @@ -3780,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) @@ -3805,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; @@ -3874,6 +3878,9 @@ static void game_print(drawing *dr, game_state *state, int tilesize) } } } + + sfree(ds->textx); + sfree(ds->texty); } #ifdef COMBINED @@ -3911,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,