Add a `full' parameter to validate_params(), analogous to the one in
[sgt/puzzles] / list.c
CommitLineData
19ef4855 1/*
2 * list.c: List of puzzles.
3 */
4
5#include "puzzles.h"
6
7/*
8 * The available games can be most easily enumerated by searching
9 * for the line in each game source file saying "#define thegame
10 * <gamename>". Hence, the following piece of shell/Perl should
11 * regenerate this list automatically:
12
13perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print "extern const game $1;\n"' *.c
14echo -e '\nconst game *gamelist[] = {'
15perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print " &$1,\n"' *.c
16echo -e '};\n\nconst int gamecount = lenof(gamelist);'
17
18 */
19
20extern const game cube;
21extern const game fifteen;
f4afe206 22extern const game flip;
74476385 23extern const game guess;
7959b517 24extern const game mines;
19ef4855 25extern const game net;
26extern const game netslide;
27extern const game pattern;
32ee875d 28extern const game pegs;
19ef4855 29extern const game rect;
e839f206 30extern const game samegame;
19ef4855 31extern const game sixteen;
1d8e8ad8 32extern const game solo;
9038fd11 33extern const game twiddle;
19ef4855 34
35const game *gamelist[] = {
36 &cube,
37 &fifteen,
f4afe206 38 &flip,
74476385 39 &guess,
7959b517 40 &mines,
19ef4855 41 &net,
42 &netslide,
43 &pattern,
32ee875d 44 &pegs,
19ef4855 45 &rect,
e839f206 46 &samegame,
19ef4855 47 &sixteen,
1d8e8ad8 48 &solo,
9038fd11 49 &twiddle,
19ef4855 50};
51
52const int gamecount = lenof(gamelist);