diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-05-02 10:12:26 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-05-02 10:12:26 +0000 |
| commit | 9e240e45df4929f77b1a088cffbf7aaa6050ed03 (patch) | |
| tree | 9420f57fa6b3c64eda4197ca4a864203e8130936 /puzzles.h | |
| parent | 3f9d88f3e742ead492a0f47062645f3c14654b1f (diff) | |
| download | puzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.zip puzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.tar.gz puzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.tar.bz2 puzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.tar.xz | |
Introduce the concept of a `game_aux_info' structure. This is
constructed at the same time as an internally generated game seed,
so that it can preserve any interesting information known by the
program at generation time but not physically contained within the
text of the game seed itself. (Such as, for example, the solution.)
Currently not used for anything yet, but it will be.
[originally from svn r5729]
Diffstat (limited to 'puzzles.h')
| -rw-r--r-- | puzzles.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -52,6 +52,7 @@ typedef struct midend_data midend_data; 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; @@ -189,7 +190,9 @@ struct game { 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); |