X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/6f3dfb23e9c5982d0c7e328aacf6f5225d140625..3199a01b45fe16e540800fb73f69b4188d6e70ff:/lightup.c diff --git a/lightup.c b/lightup.c index ad5d669..841458a 100644 --- a/lightup.c +++ b/lightup.c @@ -1824,11 +1824,13 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds, int x, int y, int button) { enum { NONE, FLIP_LIGHT, FLIP_IMPOSSIBLE } action = NONE; - int cx = -1, cy = -1, cv = ui->cur_visible; + int cx = -1, cy = -1; unsigned int flags; - char buf[80], *nullret, *empty = "", c; + char buf[80], *nullret = NULL, *empty = "", c; if (button == LEFT_BUTTON || button == RIGHT_BUTTON) { + if (ui->cur_visible) + nullret = empty; ui->cur_visible = 0; cx = FROMCOORD(x); cy = FROMCOORD(y); @@ -1855,13 +1857,9 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds, ui->cur_x = min(max(ui->cur_x, 0), state->w - 1); ui->cur_y = min(max(ui->cur_y, 0), state->h - 1); ui->cur_visible = 1; - } - - /* Always redraw if the cursor is on, or if it's just been - * removed. */ - if (ui->cur_visible) nullret = empty; - else if (cv) nullret = empty; - else nullret = NULL; + nullret = empty; + } else + return NULL; switch (action) { case FLIP_LIGHT: @@ -2177,8 +2175,7 @@ static void game_print(drawing *dr, game_state *state, int tilesize) /* Ick: fake up `ds->tilesize' for macro expansion purposes */ game_drawstate ads, *ds = &ads; - ads.tilesize = tilesize; - ds->crad = 3*(tilesize-1)/8; + game_set_size(dr, ds, NULL, tilesize); /* * Border. @@ -2257,7 +2254,7 @@ const struct game thegame = { TRUE, FALSE, game_print_size, game_print, game_wants_statusbar, FALSE, game_timing_state, - 0, /* mouse_priorities */ + 0, /* flags */ }; #ifdef STANDALONE_SOLVER