GNUstep compatibility: add a missing #include.
[sgt/puzzles] / CHECKLST.txt
index 8d24866..247ae4f 100644 (file)
@@ -6,16 +6,28 @@ Things to remember when adding a new puzzle
 
 Write the source file for the new puzzle (duhh).
 
 
 Write the source file for the new puzzle (duhh).
 
-Write a section in print.py, if applicable.
+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 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.
+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.)
 
 
-Add it to list.c so that the OS X binary will be able to select it
-from the menus.
+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.
 
 
 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.
 
 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.
 
 
-Don't forget to `svn add' the new source file before checkin!
+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:
 
 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 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 binary link and the docs link work
+ - test that the Java version works
  - run webupdate
  - test again
  - 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