typedef struct random_state random_state;
typedef struct game_params game_params;
typedef struct game_state game_state;
+typedef struct game_aux_info game_aux_info;
typedef struct game_ui game_ui;
typedef struct game_drawstate game_drawstate;
typedef struct game game;
char *midend_set_config(midend_data *me, int which, config_item *cfg);
char *midend_game_id(midend_data *me, char *id, int def_seed);
char *midend_text_format(midend_data *me);
+char *midend_solve(midend_data *me);
/*
* malloc.c
config_item *(*configure)(game_params *params);
game_params *(*custom_params)(config_item *cfg);
char *(*validate_params)(game_params *params);
- char *(*new_seed)(game_params *params, random_state *rs);
+ char *(*new_seed)(game_params *params, random_state *rs,
+ game_aux_info **aux);
+ void (*free_aux_info)(game_aux_info *aux);
char *(*validate_seed)(game_params *params, char *seed);
game_state *(*new_game)(game_params *params, char *seed);
game_state *(*dup_game)(game_state *state);
void (*free_game)(game_state *state);
+ int can_solve;
+ game_state *(*solve)(game_state *state, game_aux_info *aux, char **error);
int can_format_as_text;
char *(*text_format)(game_state *state);
game_ui *(*new_ui)(game_state *state);