X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/a96666e43001d9967785dfb7ee7a22aaef6eccaa..171fbdaa70df511fabad11a55abf98b57a6b03cb:/twiddle.c diff --git a/twiddle.c b/twiddle.c index 871bd7f..f6c8f4d 100644 --- a/twiddle.c +++ b/twiddle.c @@ -308,7 +308,7 @@ static int grid_complete(int *grid, int wh, int orientable) } static char *new_game_desc(game_params *params, random_state *rs, - game_aux_info **aux) + game_aux_info **aux, int interactive) { int *grid; int w = params->w, h = params->h, n = params->n, wh = w*h; @@ -428,7 +428,7 @@ static char *validate_desc(game_params *params, char *desc) return NULL; } -static game_state *new_game(game_params *params, char *desc) +static game_state *new_game(midend_data *me, game_params *params, char *desc) { game_state *state = snew(game_state); int w = params->w, h = params->h, n = params->n, wh = w*h; @@ -594,6 +594,8 @@ static game_state *make_move(game_state *from, game_ui *ui, int x, int y, game_state *ret; int dir; + button = button & (~MOD_MASK | MOD_NUM_KEYPAD); + if (button == LEFT_BUTTON || button == RIGHT_BUTTON) { /* * Determine the coordinates of the click. We offset by n-1 @@ -940,7 +942,7 @@ static int highlight_colour(float angle) } static float game_anim_length(game_state *oldstate, game_state *newstate, - int dir) + int dir, game_ui *ui) { if ((dir > 0 && newstate->just_used_solve) || (dir < 0 && oldstate->just_used_solve)) @@ -950,7 +952,7 @@ static float game_anim_length(game_state *oldstate, game_state *newstate, } static float game_flash_length(game_state *oldstate, game_state *newstate, - int dir) + int dir, game_ui *ui) { if (!oldstate->completed && newstate->completed && !oldstate->used_solve && !newstate->used_solve) @@ -1010,7 +1012,7 @@ static void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate, */ if (oldstate) { float angle; - float anim_max = game_anim_length(oldstate, state, dir); + float anim_max = game_anim_length(oldstate, state, dir, ui); if (dir > 0) { lastx = state->lastx; @@ -1109,6 +1111,11 @@ static int game_wants_statusbar(void) return TRUE; } +static int game_timing_state(game_state *state) +{ + return TRUE; +} + #ifdef COMBINED #define thegame twiddle #endif @@ -1142,4 +1149,5 @@ const struct game thegame = { game_anim_length, game_flash_length, game_wants_statusbar, + FALSE, game_timing_state, };