~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
"Hold" function in Guess was completely broken.
[sgt/puzzles]
/
lightup.c
diff --git
a/lightup.c
b/lightup.c
index
ad5d669
..
f1d9cc7
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:
@@
-1958,7
+1956,7
@@
static void game_set_size(drawing *dr, game_drawstate *ds,
ds->crad = 3*(tilesize-1)/8;
}
ds->crad = 3*(tilesize-1)/8;
}
-static float *game_colours(frontend *fe,
game_state *state,
int *ncolours)
+static float *game_colours(frontend *fe, int *ncolours)
{
float *ret = snewn(3 * NCOLOURS, float);
int i;
{
float *ret = snewn(3 * NCOLOURS, float);
int i;
@@
-2146,11
+2144,6
@@
static float game_flash_length(game_state *oldstate, game_state *newstate,
return 0.0F;
}
return 0.0F;
}
-static int game_wants_statusbar(void)
-{
- return FALSE;
-}
-
static int game_timing_state(game_state *state, game_ui *ui)
{
return TRUE;
static int game_timing_state(game_state *state, game_ui *ui)
{
return TRUE;
@@
-2177,8
+2170,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.
@@
-2255,9
+2247,9
@@
const struct game thegame = {
game_anim_length,
game_flash_length,
TRUE, FALSE, game_print_size, game_print,
game_anim_length,
game_flash_length,
TRUE, FALSE, game_print_size, game_print,
- game_wants_statusbar,
+ FALSE, /* wants_statusbar */
FALSE, game_timing_state,
FALSE, game_timing_state,
- 0, /*
mouse_prioritie
s */
+ 0, /*
flag
s */
};
#ifdef STANDALONE_SOLVER
};
#ifdef STANDALONE_SOLVER