mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
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]
This commit is contained in:
9
solo.c
9
solo.c
@ -1351,7 +1351,8 @@ static int symmetries(game_params *params, int x, int y, int *output, int s)
|
||||
return i;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
int c = params->c, r = params->r, cr = c*r;
|
||||
int area = cr*cr;
|
||||
@ -1513,6 +1514,11 @@ static char *new_game_seed(game_params *params, random_state *rs)
|
||||
return seed;
|
||||
}
|
||||
|
||||
void game_free_aux_info(game_aux_info *aux)
|
||||
{
|
||||
assert(!"Shouldn't happen");
|
||||
}
|
||||
|
||||
static char *validate_seed(game_params *params, char *seed)
|
||||
{
|
||||
int area = params->r * params->r * params->c * params->c;
|
||||
@ -1959,6 +1965,7 @@ const struct game thegame = {
|
||||
TRUE, game_configure, custom_params,
|
||||
validate_params,
|
||||
new_game_seed,
|
||||
game_free_aux_info,
|
||||
validate_seed,
|
||||
new_game,
|
||||
dup_game,
|
||||
|
Reference in New Issue
Block a user