Add a limited-shuffle mode like that added to Sixteen and Twiddle in r5769,
[sgt/puzzles] / nullgame.c
index a071971..da57bac 100644 (file)
@@ -59,16 +59,11 @@ static game_params *dup_params(game_params *params)
     return ret;
 }
 
-static game_params *decode_params(char const *string)
+static void decode_params(game_params *params, char const *string)
 {
-    game_params *ret = snew(game_params);
-
-    ret->FIXME = 0;
-
-    return ret;
 }
 
-static char *encode_params(game_params *params)
+static char *encode_params(game_params *params, int full)
 {
     return dupstr("FIXME");
 }
@@ -88,17 +83,23 @@ static char *validate_params(game_params *params)
     return NULL;
 }
 
-static char *new_game_seed(game_params *params, random_state *rs)
+static char *new_game_desc(game_params *params, random_state *rs,
+                          game_aux_info **aux)
 {
     return dupstr("FIXME");
 }
 
-static char *validate_seed(game_params *params, char *seed)
+static void game_free_aux_info(game_aux_info *aux)
+{
+    assert(!"Shouldn't happen");
+}
+
+static char *validate_desc(game_params *params, char *desc)
 {
     return NULL;
 }
 
-static game_state *new_game(game_params *params, char *seed)
+static game_state *new_game(game_params *params, char *desc)
 {
     game_state *state = snew(game_state);
 
@@ -121,6 +122,17 @@ static void free_game(game_state *state)
     sfree(state);
 }
 
+static game_state *solve_game(game_state *state, game_aux_info *aux,
+                             char **error)
+{
+    return NULL;
+}
+
+static char *game_text_format(game_state *state)
+{
+    return NULL;
+}
+
 static game_ui *new_ui(game_state *state)
 {
     return NULL;
@@ -217,11 +229,14 @@ const struct game thegame = {
     dup_params,
     FALSE, game_configure, custom_params,
     validate_params,
-    new_game_seed,
-    validate_seed,
+    new_game_desc,
+    game_free_aux_info,
+    validate_desc,
     new_game,
     dup_game,
     free_game,
+    FALSE, solve_game,
+    FALSE, game_text_format,
     new_ui,
     free_ui,
     make_move,