}
struct game_drawstate {
- int w, h, started, tilesize;
+ int w, h, started, tilesize, bg;
signed char *grid;
/*
* Items in this `grid' array have all the same values as in
ds->started = FALSE;
ds->tilesize = 0; /* not decided yet */
ds->grid = snewn(ds->w * ds->h, signed char);
+ ds->bg = -1;
memset(ds->grid, -99, ds->w * ds->h);
(abs(x-ui->hx) <= ui->hradius && abs(y-ui->hy) <= ui->hradius))
v -= 20;
- if (ds->grid[y*ds->w+x] != v || bg != COL_BACKGROUND) {
+ if (ds->grid[y*ds->w+x] != v || bg != ds->bg) {
draw_tile(fe, ds, COORD(x), COORD(y), v, bg);
- ds->grid[y*ds->w+x] = (bg == COL_BACKGROUND ? v : -10);
+ ds->grid[y*ds->w+x] = v;
}
}
+ ds->bg = bg;
if (!state->layout->mines)
mines = state->layout->n;