aboutsummaryrefslogtreecommitdiff
path: root/mines.c
diff options
context:
space:
mode:
authorJacob Nevins <jacobn@chiark.greenend.org.uk>2005-07-05 21:27:19 +0000
committerJacob Nevins <jacobn@chiark.greenend.org.uk>2005-07-05 21:27:19 +0000
commitf3c95109c7b905f74b5f149eea21f68444c31ef7 (patch)
tree77e7eeb6b297b201bbd40f67010318d2c4421c85 /mines.c
parent968828283b7a0aacd71d4868846291b381884eb1 (diff)
downloadpuzzles-f3c95109c7b905f74b5f149eea21f68444c31ef7.zip
puzzles-f3c95109c7b905f74b5f149eea21f68444c31ef7.tar.gz
puzzles-f3c95109c7b905f74b5f149eea21f68444c31ef7.tar.bz2
puzzles-f3c95109c7b905f74b5f149eea21f68444c31ef7.tar.xz
Add a `full' parameter to validate_params(), analogous to the one in
encode_params(). This is necessary for cases where generation-time parameters that are normally omitted from descriptive IDs can place restrictions on other parameters; in particular, when the default value of a relevant generation-time parameter is not the one used to generate the descriptive ID, validation could reject self-generated IDs (e.g., Net `5x2w:56182ae7c2', and some cases in `Pegs'). [originally from svn r6068]
Diffstat (limited to 'mines.c')
-rw-r--r--mines.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mines.c b/mines.c
index b70167e..f3e216c 100644
--- a/mines.c
+++ b/mines.c
@@ -237,7 +237,7 @@ static game_params *custom_params(config_item *cfg)
return ret;
}
-static char *validate_params(game_params *params)
+static char *validate_params(game_params *params, int full)
{
/*
* Lower limit on grid size: each dimension must be at least 3.
@@ -253,7 +253,7 @@ static char *validate_params(game_params *params)
* _have_ to have a gap somewhere which you can't determine the
* position of.
*/
- if (params->w <= 2 || params->h <= 2)
+ if (full && params->unique && (params->w <= 2 || params->h <= 2))
return "Width and height must both be greater than two";
if (params->n > params->w * params->h - 9)
return "Too many mines for grid size";