From 51cda7fe80328cf640095eb643afadfd94348818 Mon Sep 17 00:00:00 2001 From: simon Date: Fri, 24 Jun 2005 16:35:42 +0000 Subject: [PATCH] Couple of presets. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6011 cda61777-01e9-0310-a592-d414129be87e --- guess.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) 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; -- 2.11.0