chiark / gitweb /
Couple of presets.
authorSimon Tatham <anakin@pobox.com>
Fri, 24 Jun 2005 16:35:42 +0000 (16:35 +0000)
committerSimon Tatham <anakin@pobox.com>
Fri, 24 Jun 2005 16:35:42 +0000 (16:35 +0000)
[originally from svn r6011]

guess.c

diff --git a/guess.c b/guess.c
index 35cfb5ba89d90c8e915d0acb7c1a4704f0b7ac50..24daab36d2db97480d427db44e2ecd0f993d5495 100644 (file)
--- 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;