chiark / gitweb /
Rename wingames.lst to gamedesc.txt, and add a couple of extra fields
[sgt-puzzles.git] / CHECKLST.txt
1 Useful checklists
2 =================
3
4 Things to remember when adding a new puzzle
5 -------------------------------------------
6
7 Write the source file for the new puzzle (duhh).
8
9 Create a .R file for it which:
10  - defines a <puzzle>_EXTRA symbol for it if it requires auxiliary
11    object files (make sure that symbol doesn't contain the icon)
12  - adds it to the `ALL' definition, to ensure it is compiled into
13    the OS X binary
14  - adds it as a GTK build target, with the optional GTK icon
15  - adds it as a Windows build target, with the optional resource
16    file
17  - adds auxiliary solver binaries if any
18  - adds it to $(GAMES) in the GTK makefile, for `make install'
19  - adds it to list.c for the OS X binary
20  - adds it to gamedesc.txt, with its Windows executable name, display
21    name, and slightly longer description.
22
23 If the puzzle is by a new author, modify the copyright notice in
24 LICENCE and in puzzles.but. (Also in index.html, but that's listed
25 below under website changes.)
26
27 Double-check that the game structure name in the source file has
28 been renamed from `nullgame', so that it'll work on OS X. Actually
29 compiling it on OS X would be a good way to check this, if
30 convenient.
31
32 Add a documentation section in puzzles.but.
33
34 Make sure there's a Windows help topic name defined in puzzles.but,
35 and that it's referenced by the help topic field in the game
36 structure in the source file.
37
38 Check that REQUIRE_RBUTTON and/or REQUIRE_NUMPAD are set as
39 appropriate.
40
41 Add the new Unix binary name, and the names of any auxiliary solver
42 binaries, to the svn:ignore property.
43
44 Write an instructions fragment for the webified puzzle pages, as
45 html/<puzzlename>.html .
46
47 Make a screenshot:
48  - create an appropriate save file in `icons'
49  - add the puzzle name to icons/Makefile
50  - set up a REDO property in icons/Makefile if the screenshot wants
51    to display a move halfway through an animation
52  - set up a CROP property in icons/Makefile if the icon wants to be
53    a sub-rectangle of the whole screenshot
54
55 Don't forget to `svn add' the new source file, the new .R file and the
56 save file in `icons', the new .html file, and any other new files that
57 might have been involved.
58
59 Check in!
60
61 Put the puzzle on the web:
62  - run puzzlesnap first
63  - make sure the screenshot and Windows binary have arrived in the www
64    directory, and that the .jar file and its accompanying web page has
65    arrived in the java subdirectory
66  - add an entry in the puzzles list in index.html
67  - add the Windows executable name to the list further down
68    index.html
69  - adjust the copyright in index.html if the puzzle is by a new
70    author
71  - test that the binary link and the docs link work
72  - test that the Java version works
73  - run webupdate
74  - test again
75  - check in the change to index.html