`Copy' operation for Mines.
Constrain mine count to be at most the largest number of mines we
First cut at a game timer. Yet another backend function which
D'oh, there's always one. Remove first-click stuff from the todo list.
Mines now follows the conventional approach of offering a completely
Neat idea from Gareth: if you put a % on the end of the mine count
Nit: "warning: extra tokens at end of #endif directive"
Initial checkin of my Minesweeper clone, which uses a solver during
Infrastructure change: game_anim_length and game_flash_length now
Add a limited-shuffle mode like that added to Sixteen and Twiddle in r5769,
Add the ability to use the Rectangles solver for actually solving
Add support for Jacob's new cursor-key modifier flags in the OS X frontend.
Sorted out the barriers/corners trouble left by r5844. No wonder
Since the split into random and descriptive IDs, the section on game seeds has
Add origin-shifting (Shift+cursors) and source-shifting (Ctrl+cursors) to Net.
Support for `pencil marks' in Solo, by right-clicking and typing a
Mention NetWalk and update comment
Avoid leading zeroes on internally generated random seeds, _just_ in
I'm sick of `--generate' giving the same answers if you run it twice
The GTK `--generate' option didn't validate the game parameters. It
Net hangs if you ask it for a 2xn or nx2 wrapping puzzle with a
Aesthetic improvements, mostly suggested by Gareth.
Forgot to add print.py to the source archive. Ahem.
Another tweak to the solver to make it handle blank tiles correctly.
Special case in dead-end checking which prevents the solver falling
The Net solver now makes use of barrier information when applied to
It occurred to me yesterday that Net could perfectly well be played
Ensure that an old random seed isn't left around for the user to see when a
Solution uniqueness for Net. Can be disabled on request (but is
Move IDM_ABOUT so that it doesn't overlap the presets space! Ahem.
Cunning way to ensure unique solutions in generated Rectangles
If you paste in a random seed with different ephemeral parameters
Rectangles random seed IDs shouldn't bother stating the expansion
It's a good idea to validate presets received from the environment.
Move the colour configuration into midend.c so that it becomes
Standalone solvers were broken by my recent API changes.
Update doc for recent changes in Restart behaviour.
After much thought, I've decided that `Restart' on r is not a
Null-terminate generated Net/Netslide descriptive game IDs.
Keyboard shortcuts for Twiddle: abcdABCD in line with the notation
Just for Gareth: a means of overriding individual game colour
`Restart' is now an undo-able action: it appends a move to the end
Cube's dup_game() function was missing a field. Oops.
The game IDs for Net (and Netslide) have always been random seeds
Missed a vital semicolon off the Cygwin version.c makefile fragment.
Er, except that I already had a makedist.sh. Transferred new version
Added automatic determination of the SVN revision number if a build
Introduce a versioning mechanism, and an `About' box in all front
I've had two complaints that Solo ought to recognise the numeric
The two Rubik-like puzzles, Sixteen and Twiddle, now support an
Bah. Try the r5766 fix again, this time without the typo.
Completion flashes were occasionally failing to be cleaned up if a
solve_game() is passed the _initial_ game state, not the most recent
Add 3x3 Trivial to the presets list, and make it the default.
Aha, here's a nice easy way to generate really hard puzzles. Added
Allow for trailing '\0' in game_text_format() in various games.
The Twiddle shuffling algorithm was theoretically parity-unbalanced:
I've changed my mind. For the benefit of users with slower
Fix line endings when pasting on Windows.
Forgot to mention that you can undo a Solve operation.
Ahem. The `Solve' option in orientable Twiddle needs to correct the
Added an automatic `Solve' feature to most games. This is useful for
Oops; forgot to check in the copy-to-clipboard option for Windows.
Introduce the concept of a `game_aux_info' structure. This is
It's actually vitally important, it turns out, to have all of the
The addition of a `Copy' menu item on OS X was really beginning to
Copy-to-clipboard for Rectangles.
Copy-to-clipboard facility for Fifteen, Sixteen and Twiddle.
Introduced a new function in every game which formats a game_state
I can never remember what that `TRUE' means in the game structure
Remove outdated comment :-)
I think Windows fonts look better in bold as well.
Fix game IDs, which I broke in the orientability change. Also
After brainstorming with Gareth, we've decided that this is a much
Bah, and of course there's a TODO comment I forgot to remove.
Twiddle now has an additional mode in which tile orientation
Pango-derived fonts seem to generally look better if I ask for them
New puzzle: `twiddle', generalised from a random door-unlocking
Added a `--generate' command-line option in the GTK port of every
Correct block coordinate display when standalone solver shows its
Aha, even better: a Makefile hack that causes auto-detection of GTK
Fix inconsistent vertical centring of text in GTK (and update Solo's
Patches for GTK 2. Puzzles already _built_ under GTK 2, but now it
Command-line solver was dividing up non-square puzzles the wrong way
Pattern also contains an internal solver, so here's a command-line
The command-line solver's difficulty gradings now use the same
Implement the remaining modes of reasoning in nsolve, and thus
Fix trivial UI glitch involving clicking on the border outside the
Remove some legacy debugging code which was breaking the MinGW
Oops; _actually_ add the reasoning mode I mentioned in the last
Various changes prompted by my boss taking an interest:
Outstandingly cute mathematical transformation which allows me to
Introduce configurable symmetry type in generated puzzles, and drop