X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/1185e3c5eaf5a0ac405e14939e7ee818914e0701..27a79972a58287f3f410ea528472f3994cb441b3:/cube.c diff --git a/cube.c b/cube.c index becf5db..2bce1bd 100644 --- a/cube.c +++ b/cube.c @@ -586,7 +586,7 @@ static void classify_grid_square_callback(void *ctx, struct grid_square *sq) } static char *new_game_desc(game_params *params, random_state *rs, - game_aux_info **aux) + game_aux_info **aux, int interactive) { struct grid_data data; int i, j, k, m, area, facesperclass; @@ -868,7 +868,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 area; @@ -957,6 +957,7 @@ static game_state *dup_game(game_state *state) memcpy(ret->facecolours, state->facecolours, ret->solid->nfaces * sizeof(int)); ret->nsquares = state->nsquares; + ret->current = state->current; ret->squares = snewn(ret->nsquares, struct grid_square); memcpy(ret->squares, state->squares, ret->nsquares * sizeof(struct grid_square)); @@ -1012,6 +1013,8 @@ static game_state *make_move(game_state *from, game_ui *ui, int i, j, dest, mask; struct solid *poly; + button = button & (~MOD_MASK | MOD_NUM_KEYPAD); + /* * All moves are made with the cursor keys or numeric keypad. */ @@ -1523,13 +1526,13 @@ static void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate, } static float game_anim_length(game_state *oldstate, - game_state *newstate, int dir) + game_state *newstate, int dir, game_ui *ui) { return ROLLTIME; } static float game_flash_length(game_state *oldstate, - game_state *newstate, int dir) + game_state *newstate, int dir, game_ui *ui) { return 0.0F; } @@ -1539,6 +1542,11 @@ static int game_wants_statusbar(void) return TRUE; } +static int game_timing_state(game_state *state) +{ + return TRUE; +} + #ifdef COMBINED #define thegame cube #endif @@ -1572,4 +1580,5 @@ const struct game thegame = { game_anim_length, game_flash_length, game_wants_statusbar, + FALSE, game_timing_state, };