diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-09-03 18:32:58 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-09-03 18:32:58 +0000 |
| commit | 41b9855da9e3eca71f9759dccdd04c2d714d9cc6 (patch) | |
| tree | 09430816964b38e80593a557b34d0f2d422f4cc7 /map.c | |
| parent | d7c12b3122a2550209228675fe765e05d29c70a9 (diff) | |
| download | puzzles-41b9855da9e3eca71f9759dccdd04c2d714d9cc6.zip puzzles-41b9855da9e3eca71f9759dccdd04c2d714d9cc6.tar.gz puzzles-41b9855da9e3eca71f9759dccdd04c2d714d9cc6.tar.bz2 puzzles-41b9855da9e3eca71f9759dccdd04c2d714d9cc6.tar.xz | |
Patches from James H. The usual stuff (memory leak fixes and 16-bit
cleanliness), plus he's enlarged the pencil-mark circles from
TILESIZE/8 to TILESIZE/7. Makes no difference at all (thanks to
integer division) when TILESIZE is the default of 20, but presumably
helps at some other tile sizes. Fine by me.
[originally from svn r6265]
Diffstat (limited to 'map.c')
| -rw-r--r-- | map.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -2169,6 +2169,7 @@ static void free_game(game_state *state) sfree(state->map->regiony); sfree(state->map); } + sfree(state->pencil); sfree(state->colouring); sfree(state); } @@ -2606,11 +2607,11 @@ static void draw_error(drawing *dr, game_drawstate *ds, int x, int y) static void draw_square(drawing *dr, game_drawstate *ds, game_params *params, struct map *map, - int x, int y, int v) + int x, int y, unsigned long v) { int w = params->w, h = params->h, wh = w*h; - int tv, bv, xo, yo, errs, pencil, i, j, oldj; - int show_numbers; + int tv, bv, xo, yo, i, j, oldj; + unsigned long errs, pencil, show_numbers; errs = v & ERR_MASK; v &= ~ERR_MASK; @@ -2679,7 +2680,7 @@ static void draw_square(drawing *dr, game_drawstate *ds, draw_circle(dr, COORD(x) + (xo+1)*TILESIZE/5, COORD(y) + (yo+1)*TILESIZE/5, - TILESIZE/8, COL_0 + c, COL_0 + c); + TILESIZE/7, COL_0 + c, COL_0 + c); } /* @@ -2781,7 +2782,7 @@ static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate, for (x = 0; x < w; x++) { int tv = state->colouring[state->map->map[TE * wh + y*w+x]]; int bv = state->colouring[state->map->map[BE * wh + y*w+x]]; - int v; + unsigned long v; if (tv < 0) tv = FOUR; @@ -2864,7 +2865,7 @@ static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate, */ for (y = 0; y < h; y++) for (x = 0; x < w; x++) { - int v = ds->todraw[y*w+x]; + unsigned long v = ds->todraw[y*w+x]; if (ds->drawn[y*w+x] != v) { draw_square(dr, ds, &state->p, state->map, x, y, v); ds->drawn[y*w+x] = v; |