Useful checklists
=================

Things to remember when adding a new puzzle
-------------------------------------------

Write the source file for the new puzzle (duhh).

Create a .R file for it which:
 - defines a Recipe symbol for it if it requires auxiliary object
   files (make sure the general Recipe symbol doesn't contain the
   icon)
 - adds it to the `ALL' definition, to ensure it is compiled into
   the OS X binary
 - adds it as a GTK build target, with the optional GTK icon
 - adds it as a Windows build target, with the optional resource
   file
 - adds auxiliary solver binaries if any
 - adds it to $(GAMES) in the GTK makefile, for `make install'
 - adds it to list.c for the OS X binary
 - adds it to wingames.lst along with a textual name, for the build
   system and Windows installer.

If the puzzle is by a new author, modify the copyright notice in
LICENCE and in puzzles.but. (Also in index.html, but that's listed
below under website changes.)

Double-check that the game structure name in the source file has
been renamed from `nullgame', so that it'll work on OS X. Actually
compiling it on OS X would be a good way to check this, if
convenient.

Add a documentation section in puzzles.but.

Make sure there's a Windows help topic name defined in puzzles.but,
and that it's referenced by the help topic field in the game
structure in the source file.

Make sure the puzzle works on PocketPC. At the very least, check
that it specifies REQUIRE_RBUTTON and/or REQUIRE_NUMPAD as
appropriate; but better, actually test it on the emulator.

Add the new Unix binary name, and the names of any auxiliary solver
binaries, to the svn:ignore property.

Make a screenshot:
 - create an appropriate save file in `icons'
 - add the puzzle name to icons/Makefile
 - set up a REDO property in icons/Makefile if desired

Don't forget to `svn add' the new source file, the new .R file and
the save file in `icons', and any other new files that might have
been involved.

Check in!

Put the puzzle on the web:
 - run puzzlesnap first
 - make sure the screenshot and Windows binary have arrived in the
   www directory, and the .jar file in the java subdirectory
 - add an entry in the puzzles list in index.html
 - add a web page in the java subdirectory
 - adjust the copyright in index.html if the puzzle is by a new
   author
 - test that the binary link and the docs link work
 - test that the Java version works
 - run webupdate
 - test again
 - `svn add' the new Java applet web page
 - check in the change to index.html and the new web page
