Fix segfault in Tents' printing.
[sgt/puzzles] / list.c
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
13 perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print "extern const game $1;\n"' *.c
14 echo -e '\nconst game *gamelist[] = {'
15 perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print " &$1,\n"' *.c
16 echo -e '};\n\nconst int gamecount = lenof(gamelist);'
17
18 */
19
20 extern const game blackbox;
21 extern const game bridges;
22 extern const game cube;
23 extern const game dominosa;
24 extern const game fifteen;
25 extern const game flip;
26 extern const game guess;
27 extern const game inertia;
28 extern const game lightup;
29 extern const game loopy;
30 extern const game map;
31 extern const game mines;
32 extern const game net;
33 extern const game netslide;
34 extern const game pattern;
35 extern const game pegs;
36 extern const game rect;
37 extern const game samegame;
38 extern const game sixteen;
39 extern const game slant;
40 extern const game solo;
41 extern const game tents;
42 extern const game twiddle;
43 extern const game untangle;
44
45 const game *gamelist[] = {
46 &blackbox,
47 &bridges,
48 &cube,
49 &dominosa,
50 &fifteen,
51 &flip,
52 &guess,
53 &inertia,
54 &lightup,
55 &loopy,
56 &map,
57 &mines,
58 &net,
59 &netslide,
60 &pattern,
61 &pegs,
62 &rect,
63 &samegame,
64 &sixteen,
65 &slant,
66 &solo,
67 &tents,
68 &twiddle,
69 &untangle,
70 };
71
72 const int gamecount = lenof(gamelist);