Add a limited-shuffle mode like that added to Sixteen and Twiddle in r5769,
[sgt/puzzles] / cube.c
diff --git a/cube.c b/cube.c
index becf5db..ddf5527 100644 (file)
--- a/cube.c
+++ b/cube.c
@@ -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.
      */