Optimisation patch from Mike: remember which squares we've entirely
Patch from Mike: fix an array indexing error in the clue
I am again gormless! When I overhauled Solo's grid generator in
I found a slightly odd-looking line of code in this file a few days
Minor improvement to initial loop generation.
Oops; left some rogue diagnostics in.
Run the final solution-reduction pass in both directions, since
Solve function for Inertia, using what's essentially an approximate
Marginally greater robustness in the face of solve_game() failing to
Completely rewrite the loop-detection algorithm used to check game
Patch from James H which initialises a couple of Windows API object
I arranged that dying after the game was already completed didn't
Take the Windows taskbar into account when deciding on the maximum
Various patches from Ben H: a fix for an outdated comment, a couple
I've dithered a bit in the past about whether or not it's allowable
Patch from Ton van Overbeek to fix a small memory leak in
Patch from Ton van Overbeek to correct Loopy's misplaced line ends
Another global environment-variable override across all games. This
Couple of minor updates to restore accuracy.
Patches from James H. The usual stuff (memory leak fixes and 16-bit
Someone points out that the Solo text formatter would be a lot
Stop Light Up from eating system keypresses, which it was previously
Palm fixes for Loopy from James H: a #ifdef SLOW_SYSTEM, and an
James H's memory leak fixes to Inertia.
James H has implemented a new `Tricky' difficulty level in Light Up:
Ability to drag pencil marks around.
Terribly cunning approach to making the pencil marks look nicer,
Debian requires -lm, where Red Hat didn't.
Ahem; forgot about recursion. Recursive solving now shows its
Now that Map has some seriously complex deductions, it's about time
Forcing chains in Map give rise to a new `Hard' difficulty level.
Implemented a couple more reasoning modes for Extreme difficulty
Backspace and Delete keys now function like Space in Solo.
Ahem. The region density at which things start to get hairy is 2/3
Aesthetic improvements to the Map error indicators:
There seems to be some odd behaviour when GTK is asked to draw an
Fix array bounds violation in the solver. Oops.
OS X seems particularly picky about possibly uninitialised
New puzzle: `Inertia', originally written for Windows by Ben
Trivial doc changes after recent prolificacy.
Memory leak and type safety fixes from James H.
Phil Bordelon points out that the general convention is to orient
Mike points out that I made an error in one of the presets...
Over-enthusiastic assertion introduced in the printing revamp was
Optimiser placation for OS X gcc.
New puzzle: `Loopy', an implementation of Nikoli's `Slither Link' or
Minor update to Solo's documentation due to Extreme mode.
Brand new difficulty level in Solo. The other day Gareth and I
Don't report an error when loading a saved game from the command
James H points out a rogue fprintf in Net's print routine.
Memory leak in the new printing stuff, plus a couple of comment
`Solve' operation on an already solved map without an aux_info was
*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