Files
puzzles/CHECKLST.txt
Simon Tatham af59dcf685 Substantial infrastructure upheaval. I've separated the drawing API
as seen by the back ends from the one implemented by the front end,
and shoved a piece of middleware (drawing.c) in between to permit
interchange of multiple kinds of the latter. I've also added a
number of functions to the drawing API to permit printing as well as
on-screen drawing, and retired print.py in favour of integrated
printing done by means of that API.

The immediate visible change is that print.py is dead, and each
puzzle now does its own printing: where you would previously have
typed `print.py solo 2x3', you now type `solo --print 2x3' and it
should work in much the same way.

Advantages of the new mechanism available right now:
 - Map is now printable, because the new print function can make use
   of the output from the existing game ID decoder rather than me
   having to replicate all those fiddly algorithms in Python.
 - the new print functions can cope with non-initial game states,
   which means each puzzle supporting --print also supports
   --with-solutions.
 - there's also a --scale option permitting users to adjust the size
   of the printed puzzles.

Advantages which will be available at some point:
 - the new API should permit me to implement native printing
   mechanisms on Windows and OS X.

[originally from svn r6190]
2005-08-18 17:50:14 +00:00

42 lines
1.4 KiB
Plaintext

Useful checklists
=================
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.
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.)
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.
Don't forget to `svn add' the new source file before checkin!
Put the puzzle on the web:
- make a screenshot
- 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
- test that the binary link and the docs link work
- run webupdate
- test again
- `svn add' the binary symlink and the screenshot
- check in the website changes (screenshot, symlink, index.html)