*blinks* I apparently didn't try _building_ the OS X port since the
Retire redundant print_line_width() in Net: a relic from a failed
Native Windows printing support, using the infrastructure I put in
Richard B points out a cut and paste error.
Bah, there's always one. Remove the now-erroneous `*.py' from the
Substantial infrastructure upheaval. I've separated the drawing API
Just noticed another thing that could easily catch me out when
Memory leak fixes from James H.
New puzzle: `Map'. Vaguely original, for a change.
16-bit-cleanness fixes from James H (again). It would be really nice
Very fiddly corrections to the loop highlighting. ERRSLASH means the
Implement error checking in Slant. Clue points are now highlighted
Remove conditional definition of MAX_GRIDGEN_TRIES, for consistency
Streamline `slantsolver' a bit (avoid showing advanced working on
Document hard mode in Slant, and also fix an obvious memory
Introduce an environment variable setting (SLANT_SWAP_BUTTONS=yes)
A bunch of new reasoning techniques in the Slant solver, leading to
Cleanups to completion flashes: all four of these games used to
New puzzle: `Light Up', by James H.
Environment-based configuration wasn't sensibly usable in games with
Patch from James H: tinker with the presets on SLOW_SYSTEMs.
Bug fix from James H: solve_game() was returning error messages in
I am COMPLETELY GORMLESS. The Solo grid generator, when eliminating
Cleanups from James H: a few missing statics, a precautionary cast
Slant uses the same generation strategy as Solo, despite not having
Bah! There's _always_ one. Display glitch corrected.
New puzzle: `Slant', picked from the Japanese-language section of
Various cleanups and clarifications to devel.but; some from Richard
New end-game approach to Black Box. Instead of revealing the ball
One more fix from Ben H. Also switched round the arena colour
Various fixes and cleanups suggested by Ben Hutchings:
Ben Hutchings reports that gcc 4 gives an optimiser warning because
Patches from Ben Hutchings to fix failures of sscanf error checking.
Tweak a paragraph after discussion with Simon.
Shiny new developer documentation to replace the old sketchy HACKING
The very core of cross() is capable of suffering integer overflow on
Another diagnostic mode for Untangle: if compiled with
(GTK only so far) Allow the argument passed to a game binary to be
Solve animation (currently only in Untangle) was failing to set
The `Solve' operation now rotates and/or reflects the solution grid
James H profiled the new Same Game grid generator and discovered it
Until now, Same Game has been the only puzzle in this collection
I've been meaning to do this for ages: all the Makefiles now give
The Untangle completion flash was weedy and anaemic; beef it up a
Some attempt to explain Dominosa for those unfamiliar with dominos. (Not sure
Another fix from Chris: Guess's allow-blanks mode wasn't allowing
Fix to Chris's patch in r6106 (also from Chris).
Switch Untangle to using `long' rather than `int' in its internal
Quite a few instances of the Cardinal Error of Ctype were turned up
Two tiny cleanup patches from James H.
Get rid of the malloc in shuffle(), by defining a subfunction
Patch from Chris Emerson: rather than dynamically calling
Black Box: fix "reveal" button location, explain what's meant by the
Use \q{} and \by in Black Box docs.
I keep forgetting to do things when adding a new puzzle, so here's a
Bah, there's always one: failed to `svn add' blackbox.c itself!
Another game from James H: `Black Box'.
Cleanups and memory leak fixes from James H.
Sanity-checking patch from Phil Bordelon: since Solo can't cope with
New puzzle: `Untangle', cloned (with the addition of random grid
Improve speed of grid generation: I've found something simple I can
Add Dominosa printout support.
Introduce a `shuffle' utility function.
game_timing_state() now has access to the game_ui. This means that
Change of policy on game_changed_state(). Originally, it was called
Subtle UI change to Mines. Although I mostly find the unified left-
Alter the `Octagon' board preset so that instead of presenting you
Missing quit on error was leading to an assertion failure on some
Move various printf()s after declarations.
Unify the two solvers in Solo. nsolve has now had recursion
Refactoring from James H: the highlight and lowlight colour setup
Revert the code that assumed that incoming parameters used a random generation
Add a `full' parameter to validate_params(), analogous to the one in
Enhancements to mkfiles.pl and Recipe to arrange for the auxiliary
It's been a new year for a while now.
revert supposed typo -- I have no brain
Add HACKING to main doc build.
Add a completion flash when you get down to a single peg.
Refactored the game_size() interface, which was getting really
James Harvey points out a missing ifdef.
Clarify that diagonal moves are not permitted in Pegs.
There's always one. Forgot to add Pegs to `make install'.
Peg Solitaire implementation, complete with a random board
Document keyboard controls for Flip
Fix bounds checking for Flip cursor control.
James H's patch for a keyboard-controlled cursor in Flip.
Allow game backends to use even special keystrokes such as N and Q;
draw_polygon() and draw_circle() have always had a portability
James Harvey points out that entering an invalid game ID can affect
Prevent drags from being started outside the playing area, which was
Preset names retrieved from the environment must be dupstr()ed. How