X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/1d228b10b0f6bbc1fffb5442d2ad934a5e6aaaed..118fcd8b3809077068ec69c180068d0655f1a687:/cube.c diff --git a/cube.c b/cube.c index 33144b6..0933928 100644 --- a/cube.c +++ b/cube.c @@ -589,7 +589,8 @@ static void classify_grid_square_callback(void *ctx, struct grid_square *sq) data->squareindex++; } -static char *new_game_seed(game_params *params, random_state *rs) +static char *new_game_seed(game_params *params, random_state *rs, + game_aux_info **aux) { struct grid_data data; int i, j, k, m, area, facesperclass; @@ -690,6 +691,11 @@ static char *new_game_seed(game_params *params, random_state *rs) return seed; } +static void game_free_aux_info(game_aux_info *aux) +{ + assert(!"Shouldn't happen"); +} + static void add_grid_square_callback(void *ctx, struct grid_square *sq) { game_state *state = (game_state *)ctx; @@ -979,6 +985,17 @@ static void free_game(game_state *state) sfree(state); } +static game_state *solve_game(game_state *state, game_aux_info *aux, + char **error) +{ + return NULL; +} + +static char *game_text_format(game_state *state) +{ + return NULL; +} + static game_ui *new_ui(game_state *state) { return NULL; @@ -1000,23 +1017,23 @@ static game_state *make_move(game_state *from, game_ui *ui, struct solid *poly; /* - * All moves are made with the cursor keys. + * All moves are made with the cursor keys or numeric keypad. */ - if (button == CURSOR_UP) + if (button == CURSOR_UP || button == (MOD_NUM_KEYPAD | '8')) direction = UP; - else if (button == CURSOR_DOWN) + else if (button == CURSOR_DOWN || button == (MOD_NUM_KEYPAD | '2')) direction = DOWN; - else if (button == CURSOR_LEFT) + else if (button == CURSOR_LEFT || button == (MOD_NUM_KEYPAD | '4')) direction = LEFT; - else if (button == CURSOR_RIGHT) + else if (button == CURSOR_RIGHT || button == (MOD_NUM_KEYPAD | '6')) direction = RIGHT; - else if (button == CURSOR_UP_LEFT) + else if (button == (MOD_NUM_KEYPAD | '7')) direction = UP_LEFT; - else if (button == CURSOR_DOWN_LEFT) + else if (button == (MOD_NUM_KEYPAD | '1')) direction = DOWN_LEFT; - else if (button == CURSOR_UP_RIGHT) + else if (button == (MOD_NUM_KEYPAD | '9')) direction = UP_RIGHT; - else if (button == CURSOR_DOWN_RIGHT) + else if (button == (MOD_NUM_KEYPAD | '3')) direction = DOWN_RIGHT; else return NULL; @@ -1541,10 +1558,13 @@ const struct game thegame = { TRUE, game_configure, custom_params, validate_params, new_game_seed, + game_free_aux_info, validate_seed, new_game, dup_game, free_game, + FALSE, solve_game, + FALSE, game_text_format, new_ui, free_ui, make_move,