X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/c566778e388091cbcdcf4be8c34ec317dde0ffad..8d6149b6779c8c8c19eacde479d05712cd3209da:/samegame.c diff --git a/samegame.c b/samegame.c index 163a959..a384c0b 100644 --- a/samegame.c +++ b/samegame.c @@ -406,12 +406,12 @@ static void free_ui(game_ui *ui) sfree(ui); } -char *encode_ui(game_ui *ui) +static char *encode_ui(game_ui *ui) { return NULL; } -void decode_ui(game_ui *ui, char *encoding) +static void decode_ui(game_ui *ui, char *encoding) { } @@ -689,7 +689,7 @@ static game_state *execute_move(game_state *from, char *move) static void game_size(game_params *params, game_drawstate *ds, int *x, int *y, int expand) { - int tsx, tsy, ts; + double tsx, tsy, ts; /* * We could choose the tile gap dynamically as well if we @@ -708,14 +708,14 @@ static void game_size(game_params *params, game_drawstate *ds, int *x, int *y, * We must cast to unsigned before adding to *x and *y, since * they might be INT_MAX! */ - tsx = (unsigned)(*x + ds->tilegap) / (params->w + 1); - tsy = (unsigned)(*y + ds->tilegap) / (params->h + 1); + tsx = ((double)*x + (double)ds->tilegap) / ((double)params->w + 1.0); + tsy = ((double)*y + (double)ds->tilegap) / ((double)params->h + 1.0); ts = min(tsx, tsy); if (expand) - ds->tileinner = ts - ds->tilegap; + ds->tileinner = (int)(ts+0.5) - ds->tilegap; else - ds->tileinner = min(ts, PREFERRED_TILE_SIZE) - ds->tilegap; + ds->tileinner = min((int)ts, PREFERRED_TILE_SIZE) - ds->tilegap; *x = TILE_SIZE * params->w + 2 * BORDER - TILE_GAP; *y = TILE_SIZE * params->h + 2 * BORDER - TILE_GAP; @@ -883,13 +883,11 @@ static void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate, coords[9] = COORD(state->params.h) + HIGHLIGHT_WIDTH - 1 - TILE_GAP; coords[6] = coords[8] + TILE_SIZE; coords[7] = coords[9] - TILE_SIZE; - draw_polygon(fe, coords, 5, TRUE, COL_HIGHLIGHT); - draw_polygon(fe, coords, 5, FALSE, COL_HIGHLIGHT); + draw_polygon(fe, coords, 5, COL_HIGHLIGHT, COL_HIGHLIGHT); coords[1] = COORD(0) - HIGHLIGHT_WIDTH; coords[0] = COORD(0) - HIGHLIGHT_WIDTH; - draw_polygon(fe, coords, 5, TRUE, COL_LOWLIGHT); - draw_polygon(fe, coords, 5, FALSE, COL_LOWLIGHT); + draw_polygon(fe, coords, 5, COL_LOWLIGHT, COL_LOWLIGHT); ds->started = 1; }