X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/1d8e8ad877a2eb931659f6d5b531684a42ba28f1..bacaa96edd2c632ef4f49fdc7dfc4a11f85c2d8c:/puzzles.h?ds=sidebyside diff --git a/puzzles.h b/puzzles.h index e873351..d5c8924 100644 --- a/puzzles.h +++ b/puzzles.h @@ -140,6 +140,7 @@ enum { CFG_SETTINGS, CFG_SEED }; config_item *midend_get_config(midend_data *me, int which, char **wintitle); 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); /* * malloc.c @@ -178,13 +179,13 @@ void random_free(random_state *state); struct game { const char *name; const char *winhelp_topic; - int can_configure; game_params *(*default_params)(void); int (*fetch_preset)(int i, char **name, game_params **params); game_params *(*decode_params)(char const *string); char *(*encode_params)(game_params *); void (*free_params)(game_params *params); game_params *(*dup_params)(game_params *params); + int can_configure; config_item *(*configure)(game_params *params); game_params *(*custom_params)(config_item *cfg); char *(*validate_params)(game_params *params); @@ -193,6 +194,8 @@ struct game { game_state *(*new_game)(game_params *params, char *seed); game_state *(*dup_game)(game_state *state); void (*free_game)(game_state *state); + int can_format_as_text; + char *(*text_format)(game_state *state); game_ui *(*new_ui)(game_state *state); void (*free_ui)(game_ui *ui); game_state *(*make_move)(game_state *from, game_ui *ui, int x, int y,