mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00

It's got a bit out of date over the years, with some changes to the code not fully reflected in it (e.g. not all the int -> bool type changes were documented, and TRUE and FALSE were still mentioned), and quite a lot of new functions not added. (In particular, the dsf API was not documented, and it certainly should have been, if only so that people can find out what it even stands for!) As well as correcting for factual accuracy, two content changes in the advice chapter: I've reworded the definition of 'fairness' to explicitly mention that requiring the player to use Undo is cheating. That's always how I _intended_ the definition, but I didn't say it clearly enough. And I've added an entire new section describing the normal sensible way to implement redraw(), via a loop of the form 'work out what this cell should look like, check it against an array in game_drawstate of the last state we drew it in, and if they're different, call a redraw function'. That was mentioned in passing in two other sections, but I know at least one developer didn't find it, so now it's less well hidden.
This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <https://www.chiark.greenend.org.uk/~sgtatham/puzzles/>. The puzzle collection is built using CMake <https://cmake.org/>. To compile in the simplest way (on any of Linux, Windows or Mac), run these commands in the source directory: cmake . cmake --build . The manual is provided in Windows Help format for the Windows build; in text format for anyone who needs it; and in HTML for the Mac OS X application and for the web site. It is generated from a Halibut source file (puzzles.but), which is the preferred form for modification. To generate the manual in other formats, rebuild it, or learn about Halibut, visit the Halibut website at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Description
Languages
C
93.3%
JavaScript
1.4%
Objective-C
1.1%
CMake
1.1%
HTML
0.8%
Other
2.2%