X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/9a6d429a8372cc31fb1aa7de8e5f079a47ecf148..30bfc05aae28609b89aab02eb9407642196059e1:/pattern.c diff --git a/pattern.c b/pattern.c index 274fcdb..7c1b0f2 100644 --- a/pattern.c +++ b/pattern.c @@ -808,7 +808,7 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds, ui->drag = LEFT_DRAG; ui->release = LEFT_RELEASE; #ifdef STYLUS_BASED - ui->state = currstate == GRID_FULL ? GRID_UNKNOWN : GRID_FULL; + ui->state = (currstate + 2) % 3; /* FULL -> EMPTY -> UNKNOWN */ #else ui->state = GRID_FULL; #endif @@ -816,7 +816,7 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds, ui->drag = RIGHT_DRAG; ui->release = RIGHT_RELEASE; #ifdef STYLUS_BASED - ui->state = currstate == GRID_EMPTY ? GRID_UNKNOWN : GRID_EMPTY; + ui->state = (currstate + 1) % 3; /* EMPTY -> FULL -> UNKNOWN */ #else ui->state = GRID_EMPTY; #endif @@ -1045,6 +1045,7 @@ static game_drawstate *game_new_drawstate(drawing *dr, game_state *state) ds->visible = snewn(ds->w * ds->h, unsigned char); ds->tilesize = 0; /* not decided yet */ memset(ds->visible, 255, ds->w * ds->h); + ds->cur_x = ds->cur_y = 0; return ds; }