Stop the analysis pass in Loopy's redraw routine from being
[sgt/puzzles] / CHECKLST.txt
index 748104e..247ae4f 100644 (file)
@@ -6,16 +6,28 @@ Things to remember when adding a new puzzle
 
 Write the source file for the new puzzle (duhh).
 
-Add it to Recipe in _four_ places:
- - the `ALL' definition, to ensure it is compiled into the OS X binary
- - as a GTK build target
- - as a Windows build target
- - in the Unix `make install' section at the bottom.
+Create a .R file for it which:
+ - defines a <puzzle>_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.
 
-Add it to list.c so that the OS X binary will be able to select it
-from the menus. (Also, double-check that the game structure name in
-the source file has been renamed from `nullgame'. Actually compiling
-it on OS X would be a good way to check this, if convenient.)
+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.
 
@@ -23,19 +35,39 @@ 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.
+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.
 
-Don't forget to `svn add' the new source file before checkin!
+Check in!
 
 Put the puzzle on the web:
- - make a screenshot
+ - 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 link to the Windows binary
- - make sure the Windows binary link points at the right binary, not
-   the wrong one!
- - run puzzlesnap
+ - 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 binary symlink and the screenshot
- - check in the website changes (screenshot, symlink, index.html)
+ - `svn add' the new Java applet web page
+ - check in the change to index.html and the new web page