Files
puzzles/CHECKLST.txt
Simon Tatham cf880225ed I'm sick of repeatedly adding and removing local changes to Recipe
when testing a new game, so here's a new architecture for the Recipe
file. mkfiles.pl now supports several new features:

 - an `!include' directive, which accepts wildcards
 - += to append to an existing object group definition
 - the ability to divert output to an arbitrary file.

So now each puzzle has a `.R' file containing a fragment of Recipe
code describing that puzzle, and the central Recipe does `!include
*.R' to construct the Makefiles. That way, I can keep as many
experimental half-finished puzzles lying around my working directory
as I like, and I won't have to keep reverting Recipe when I check in
any other changes.

As part of this change, list.c is no longer a version-controlled
file; it's now constructed by mkfiles.pl, so that it too can take
advantage of this mechanism.

[originally from svn r6781]
2006-08-05 17:20:29 +00:00

53 lines
1.7 KiB
Plaintext

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.
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
- adjust the copyright in index.html if the puzzle is by a new
author
- 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)