~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Noticed recently that bitcount16() isn't 16-bit clean due to signed
[sgt/puzzles]
/
lightup.c
diff --git
a/lightup.c
b/lightup.c
index
ad5d669
..
841458a
100644
(file)
--- 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 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;
unsigned int flags;
- char buf[80], *nullret, *empty = "", c;
+ char buf[80], *nullret
= NULL
, *empty = "", c;
if (button == LEFT_BUTTON || button == RIGHT_BUTTON) {
if (button == LEFT_BUTTON || button == RIGHT_BUTTON) {
+ if (ui->cur_visible)
+ nullret = empty;
ui->cur_visible = 0;
cx = FROMCOORD(x);
cy = FROMCOORD(y);
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;
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:
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;
/* 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.
/*
* Border.
@@
-2257,7
+2254,7
@@
const struct game thegame = {
TRUE, FALSE, game_print_size, game_print,
game_wants_statusbar,
FALSE, game_timing_state,
TRUE, FALSE, game_print_size, game_print,
game_wants_statusbar,
FALSE, game_timing_state,
- 0, /*
mouse_prioritie
s */
+ 0, /*
flag
s */
};
#ifdef STANDALONE_SOLVER
};
#ifdef STANDALONE_SOLVER