X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/1185e3c5eaf5a0ac405e14939e7ee818914e0701..511dac16da218ed6716a876847e02e8478b05812:/cube.c diff --git a/cube.c b/cube.c index becf5db..428569c 100644 --- a/cube.c +++ b/cube.c @@ -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; }