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 - adds it to the `ALL' definition, to ensure it is compiled into the OS X binary - adds it as a GTK build target - adds it as a Windows build target - 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. 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. Add the new Unix binary name 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', before checkin! Put the puzzle on the web: - run puzzlesnap first - make sure the screenshot has arrived in the www directory - make sure the Windows binary link has appeared, and that it points at the right binary - add an entry in the puzzles list in index.html - adjust the copyright in index.html if the puzzle is by a new author - test that the binary link and the docs link work - run webupdate - test again - `svn add' the binary symlink - check in the website changes (symlink, index.html)