From: simon Date: Fri, 24 Jun 2005 16:35:42 +0000 (+0000) Subject: Couple of presets. X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/commitdiff_plain/51cda7fe80328cf640095eb643afadfd94348818 Couple of presets. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6011 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/guess.c b/guess.c index 35cfb5b..24daab3 100644 --- a/guess.c +++ b/guess.c @@ -60,11 +60,6 @@ static game_params *default_params(void) return ret; } -static int game_fetch_preset(int i, char **name, game_params **params) -{ - return FALSE; -} - static void free_params(game_params *params) { sfree(params); @@ -77,6 +72,32 @@ static game_params *dup_params(game_params *params) return ret; } +static const struct { + char *name; + game_params params; +} guess_presets[] = { + {"Standard", {6, 4, 10, FALSE, TRUE}}, + {"Super", {8, 5, 12, FALSE, TRUE}}, +}; + + +static int game_fetch_preset(int i, char **name, game_params **params) +{ + if (i < 0 || i >= lenof(guess_presets)) + return FALSE; + + *name = dupstr(guess_presets[i].name); + /* + * get round annoying const issues + */ + { + game_params tmp = guess_presets[i].params; + *params = dup_params(&tmp); + } + + return TRUE; +} + static void decode_params(game_params *params, char const *string) { char const *p = string;