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 _EXTRA symbol for it if it requires auxiliary object files (make sure that 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. Check that REQUIRE_RBUTTON and/or REQUIRE_NUMPAD are set as appropriate. 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 the screenshot wants to display a move halfway through an animation - set up a CROP property in icons/Makefile if the icon wants to be a sub-rectangle of the whole screenshot 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 the Windows executable name to the list further down 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