chiark / gitweb /
Simon Tatham [Tue, 31 Jul 2007 17:04:20 +0000 (17:04 +0000)]
Experimental UI tweak enabled by a hacky environment variable:
suppress the display of `this square can't be a light' blobs in a
lit square, on the grounds that we already know _lit_ squares can't
be lights. This makes the solved game look cleaner (I've always
thought the detritus of blobs on some but not all non-light squares
looked messy), but on the other hand it's slightly jarring during
play. So I'm checking it in, but as a configurable option which is
off by default.
[originally from svn r7656]
Simon Tatham [Thu, 5 Jul 2007 18:57:50 +0000 (18:57 +0000)]
A user points out that Loopy's solver relies on elements of the
`clues' array being able to be -1, so we must explicitly declare it
as `signed char' or it will break on platforms whose default char is
unsigned.
[originally from svn r7636]
Simon Tatham [Fri, 29 Jun 2007 09:45:44 +0000 (09:45 +0000)]
Optimiser placation.
[originally from svn r7625]
Simon Tatham [Sun, 20 May 2007 14:28:48 +0000 (14:28 +0000)]
Updates and improvements from Jonas Koelker.
[originally from svn r7601]
Simon Tatham [Sat, 19 May 2007 06:16:24 +0000 (06:16 +0000)]
Left puzzles.rc2 out of the tarball. Oops.
[originally from svn r7600]
Simon Tatham [Sat, 12 May 2007 13:13:39 +0000 (13:13 +0000)]
More forgiving selection of dragging targets.
[originally from svn r7574]
Simon Tatham [Sat, 12 May 2007 11:51:39 +0000 (11:51 +0000)]
Graphics tweak: make the top-right and bottom-left corners of
everything look nicer.
[originally from svn r7573]
Simon Tatham [Sat, 12 May 2007 10:26:22 +0000 (10:26 +0000)]
In-game user interface to the solver.
[originally from svn r7572]
Simon Tatham [Sat, 12 May 2007 08:26:58 +0000 (08:26 +0000)]
Fix tiny memory leak if you pressed Solve while part way through an
existing solution path.
[originally from svn r7571]
Simon Tatham [Sat, 12 May 2007 08:14:37 +0000 (08:14 +0000)]
Remove the check for disconnected pieces; it's over-general and
triggers on a perfectly connected piece shaped like an inverted T.
[originally from svn r7570]
Simon Tatham [Thu, 10 May 2007 11:10:14 +0000 (11:10 +0000)]
noicon.rc was missing from the Unix source archive, which caused a
re-run of mkfiles.pl to fail.
[originally from svn r7567]
Simon Tatham [Mon, 7 May 2007 19:36:19 +0000 (19:36 +0000)]
Stand-alone slidesolver.
[originally from svn r7558]
Simon Tatham [Mon, 7 May 2007 19:08:52 +0000 (19:08 +0000)]
Add an optional move limit during game generation.
[originally from svn r7554]
Simon Tatham [Mon, 7 May 2007 17:51:37 +0000 (17:51 +0000)]
Slight solver speedup by tracking more carefully which block merges
we've already tried, and not trying them again.
[originally from svn r7553]
Simon Tatham [Mon, 7 May 2007 17:50:14 +0000 (17:50 +0000)]
Add a new misc.c function needed by Slide's colour setup.
[originally from svn r7552]
Simon Tatham [Mon, 7 May 2007 14:49:05 +0000 (14:49 +0000)]
Close-to-finished auto-generating implementation of Klotski.
[originally from svn r7547]
Simon Tatham [Sun, 6 May 2007 09:54:34 +0000 (09:54 +0000)]
I still haven't managed to get the WinCE port building via bob, but
I should at least check in what I've got.
[originally from svn r7542]
Simon Tatham [Wed, 4 Apr 2007 19:12:17 +0000 (19:12 +0000)]
Ensure the shuffling process never produces an already-solved grid.
[originally from svn r7446]
Jacob Nevins [Sat, 31 Mar 2007 16:00:50 +0000 (16:00 +0000)]
In the Windows frontend, stop tab navigation from activating buttons.
[originally from svn r7436]
Simon Tatham [Mon, 26 Mar 2007 10:24:25 +0000 (10:24 +0000)]
Er, and now do that _without_ introducing further segfaults.
[originally from svn r7409]
Simon Tatham [Mon, 26 Mar 2007 10:20:51 +0000 (10:20 +0000)]
Stop failing assertions when we encounter an insoluble puzzle.
[originally from svn r7408]
Simon Tatham [Fri, 23 Mar 2007 18:08:21 +0000 (18:08 +0000)]
Kyle Brazell points out that the completion checker considers a
region valid if it has _a_ dot at its centre of symmetry, even if
that dot isn't actually within the region in question.
[originally from svn r7407]
Jacob Nevins [Fri, 16 Mar 2007 13:32:43 +0000 (13:32 +0000)]
Disallow clicks between squares.
[originally from svn r7400]
Simon Tatham [Sun, 11 Mar 2007 10:39:44 +0000 (10:39 +0000)]
r7364 failed to expand a malloc to match the larger data being put
in it.
[originally from svn r7387]
[r7364 ==
39d299f579da3e91308d63acc78c68ab74666989]
Simon Tatham [Sun, 11 Mar 2007 10:12:45 +0000 (10:12 +0000)]
Gary Wong observes that solo's decode_params() is overenthusiastic
about eating the letter `d' (for `diagonal') when it appears in a
symmtery description: it should only be used after `m', because
mirror symmetry is the only type that can be diagonal. This was
causing parsing of the parameter description `3x3adu' to produce the
wrong answer: the d would be swallowed, then the u ignored for being
incomprehensible, and you'd get default Trivial difficulty.
[originally from svn r7386]
Simon Tatham [Sun, 11 Mar 2007 10:04:00 +0000 (10:04 +0000)]
Gary Wong points out that solosolver's verbose output is
inconsistent in whether it numbers rows and columns from zero or
from one. Standardise on one.
[originally from svn r7385]
Jacob Nevins [Sat, 3 Mar 2007 23:43:22 +0000 (23:43 +0000)]
Since we've changed the semantics of the `expand' argument to midend_size(),
change the name. Also document the new semantics.
[originally from svn r7369]
Jacob Nevins [Sat, 3 Mar 2007 23:17:35 +0000 (23:17 +0000)]
Patch from Ben Hutchings to allow user-initiated tilesize changes to persist
across changes in game parameters (e.g., changing difficulty without changing
size). This also has the effect of preserving the user-selected tilesize if the
grid size is changed. (From Debian bug#379452.)
[originally from svn r7368]
Jacob Nevins [Sat, 3 Mar 2007 22:39:17 +0000 (22:39 +0000)]
Ben Hutchings' patch to allow Gtk windows to be shrunk as well as grown
(from Debian bug#379452).
Tested on Gtk 2. I've been unable to find a Gtk+-1.2 installation on which
Puzzles compiles, so not tested there.
[originally from svn r7367]
Jacob Nevins [Sat, 3 Mar 2007 22:05:05 +0000 (22:05 +0000)]
Refactoring patch from Ben Hutchings: move all the Gtk resize code into one
place. (From Debian bug#379452)
[originally from svn r7366]
Simon Tatham [Sat, 3 Mar 2007 17:36:44 +0000 (17:36 +0000)]
Patch from James H to provide resizability on Windows.
[originally from svn r7364]
Simon Tatham [Sat, 3 Mar 2007 17:25:13 +0000 (17:25 +0000)]
Minor cleanups (mostly \ns in diagnostic printfs) from James H.
[originally from svn r7363]
Simon Tatham [Sat, 3 Mar 2007 17:15:25 +0000 (17:15 +0000)]
My favourite kind of patch, from James H: one which decreases the
amount of code. James has ripped out the solver's version of
check_complete(), in favour of using the one I wrote for the
game-playing UI. My one checks connectedness, which means that the
solver will now not believe non-solutions to puzzles where
connectedness becomes a difficult issue. Examples of game IDs which
are now solved correctly but were previously not are 5x3:ubb and
7x7:ajfzmfqgtdzgt.
[originally from svn r7362]
Simon Tatham [Sat, 3 Mar 2007 09:41:51 +0000 (09:41 +0000)]
About time I got round to documenting the new
REQUIRE_{RBUTTON,NUMPAD} flags.
[originally from svn r7356]
Jacob Nevins [Fri, 2 Mar 2007 20:14:15 +0000 (20:14 +0000)]
Fix problems with arrow UI with non-square grid.
[originally from svn r7355]
Simon Tatham [Thu, 1 Mar 2007 18:57:36 +0000 (18:57 +0000)]
Silliness! Here's a somewhat hacky patch which builds an additional
binary from the Galaxies source file. The function of the new
`galaxiespicture' is to take a .xbm bitmap on standard input and
convert it into a Galaxies game ID using both black and white dots,
such that when solved the puzzle displays the input bitmap.
In the process of this I've implemented a post-processing pass after
the main game generation, to prevent clusters of adjacent
singletons. James H already solved that problem for unconstrained
game generation, but for some reason it came back when I did this.
However, the post-processing pass is still turned off for normal
usage, on the basis that (a) if it ain't broke don't fix it, and (b)
it's rather slow and best avoided if not necessary.
[originally from svn r7354]
Simon Tatham [Thu, 1 Mar 2007 13:29:53 +0000 (13:29 +0000)]
Amend README so that it makes reasonable sense no matter whether
you've got your source code from a tarball (with makefiles) or from
svn (without makefiles). While I'm here, mention Makefile.wce.
[originally from svn r7352]
Simon Tatham [Thu, 1 Mar 2007 07:41:11 +0000 (07:41 +0000)]
Cleanup patch from James H: disable the `s' key, which was only in
there by accident.
[originally from svn r7351]
Simon Tatham [Thu, 1 Mar 2007 07:39:05 +0000 (07:39 +0000)]
Adam D. Lopresto and Phil Bordelon independently point out a
signedness mismatch.
[originally from svn r7350]
Simon Tatham [Thu, 1 Mar 2007 07:32:35 +0000 (07:32 +0000)]
Bound edge thicknesses below so that they're always thicker than the
grid lines.
[originally from svn r7349]
Jacob Nevins [Wed, 28 Feb 2007 22:22:30 +0000 (22:22 +0000)]
Fix some border drawing issues.
[originally from svn r7347]
Jacob Nevins [Wed, 28 Feb 2007 21:49:48 +0000 (21:49 +0000)]
MinGW windres doesn't like an empty resource file, so invent a resource to
keep it happy. (Hopefully this hack will be temporary.)
[originally from svn r7346]
Simon Tatham [Wed, 28 Feb 2007 21:19:15 +0000 (21:19 +0000)]
General cleanups patch from James H:
- missing static in filling.c
- better robustness in execute_move() in filling.c
- remove side effects in assert statements
- remove rogue diagnostic in galaxies.c
- remove // comment in map.c
- add more stylus-friendly UI to Pattern
- bias Unequal towards generating inequality clues rather than numeric
[originally from svn r7344]
Simon Tatham [Wed, 28 Feb 2007 21:02:31 +0000 (21:02 +0000)]
Gary Wong points out a couple of minor errors in the setting of
`used_solve'.
[originally from svn r7343]
Simon Tatham [Tue, 27 Feb 2007 21:03:06 +0000 (21:03 +0000)]
Provide my old drag-based interface to Net as an ifdef-enabled
option, and turn it on by default on stylus-based platforms (i.e.
currently PocketPC).
[originally from svn r7341]
Simon Tatham [Tue, 27 Feb 2007 20:52:03 +0000 (20:52 +0000)]
Another thing to watch out for when adding new puzzles.
[originally from svn r7340]
Simon Tatham [Tue, 27 Feb 2007 20:49:40 +0000 (20:49 +0000)]
Create a blank .rc file to be used in the absence of icons/foo.rc.
This means that puzzles.rc2 is always included in all Windows and
PocketPC builds, which in turn means that I should be able to start
filling it full of VERSIONINFO and have that reliably included as
well.
[originally from svn r7339]
Simon Tatham [Tue, 27 Feb 2007 20:46:15 +0000 (20:46 +0000)]
This game requires the numpad.
[originally from svn r7338]
Simon Tatham [Mon, 26 Feb 2007 20:35:47 +0000 (20:35 +0000)]
Dariusz Olszewski's changes to support compiling for PocketPC. This
is mostly done with ifdefs in windows.c; so mkfiles.pl generates a
new makefile (Makefile.wce) and Recipe enables it, but it's hardly
any different from Makefile.vc apart from a few definitions at the
top of the files.
Currently the PocketPC build is not enabled in the build script, but
with any luck I'll be able to do so reasonably soon.
[originally from svn r7337]
Simon Tatham [Sun, 25 Feb 2007 23:30:14 +0000 (23:30 +0000)]
After it confused Verity, clarify in the Unequal docs that the
Trivial and Recursive difficulty levels are available for custom
selection even though no preset uses them.
[originally from svn r7336]
Simon Tatham [Sun, 25 Feb 2007 15:57:35 +0000 (15:57 +0000)]
Hardwiring the grid line width to 1 is really bad for printing. Use
a slightly more conventional method of drawing the grid lines, and
thereby fix printing.
[originally from svn r7335]
Simon Tatham [Sun, 25 Feb 2007 15:50:24 +0000 (15:50 +0000)]
Galaxies doesn't print in colour.
[originally from svn r7334]
Simon Tatham [Sun, 25 Feb 2007 13:00:58 +0000 (13:00 +0000)]
Don't create an undo-chain entry for a move with no effect.
[originally from svn r7333]
Jacob Nevins [Sun, 25 Feb 2007 12:54:46 +0000 (12:54 +0000)]
Fix a UI glitch where dragging an existing arrow could change what it
referred to.
[originally from svn r7331]
Simon Tatham [Sun, 25 Feb 2007 12:18:20 +0000 (12:18 +0000)]
Tweak the cropping of the Filling icon very slightly.
[originally from svn r7330]
Simon Tatham [Sun, 25 Feb 2007 12:12:35 +0000 (12:12 +0000)]
Update the checklist (yet again) to try to prevent a recurrence of
the error I corrected in r7328.
[originally from svn r7329]
[r7328 ==
b1679913f68675806f88f4682423c99f14a47b02]
Simon Tatham [Sun, 25 Feb 2007 12:11:47 +0000 (12:11 +0000)]
Forgot to enable the Windows icon.
[originally from svn r7328]
Simon Tatham [Sun, 25 Feb 2007 12:04:42 +0000 (12:04 +0000)]
More updates to the new-puzzle checklist.
[originally from svn r7327]
Simon Tatham [Sun, 25 Feb 2007 11:37:05 +0000 (11:37 +0000)]
New puzzle: `Filling', a Fillomino implementation by Jonas Koelker.
[originally from svn r7326]
Simon Tatham [Sun, 25 Feb 2007 10:10:51 +0000 (10:10 +0000)]
Oops. Having built the installer, we need a redirect for it in
.htaccess.
[originally from svn r7324]
Simon Tatham [Sat, 24 Feb 2007 19:33:38 +0000 (19:33 +0000)]
Build an installer for Puzzles.
[originally from svn r7319]
Simon Tatham [Sat, 24 Feb 2007 17:34:21 +0000 (17:34 +0000)]
Somehow I let a couple of // comments get past me when I accepted
this file. Remove them.
[originally from svn r7318]
Simon Tatham [Thu, 22 Feb 2007 23:18:51 +0000 (23:18 +0000)]
Phil Bordelon points out that when I renamed `Recursive' I missed a
bit.
[originally from svn r7314]
Jacob Nevins [Thu, 22 Feb 2007 21:31:59 +0000 (21:31 +0000)]
Remove spurious semicolons from macros; their upset compilers that don't like
mixing declarations and code (I accidentally tried to compile it with one
such).
[originally from svn r7313]
Simon Tatham [Thu, 22 Feb 2007 19:05:10 +0000 (19:05 +0000)]
And fix the error _I_ made in r7311. I should stop coding now,
because I'm clearly too sleepy to get it right.
[originally from svn r7312]
[r7311 ==
8c0890a331d93c9d12ef782601b9953463872fc6]
Simon Tatham [Thu, 22 Feb 2007 18:59:15 +0000 (18:59 +0000)]
Part of r7310 completely changed the careful semantics of my
coordinate-rounding, causing picking up arrows from a dot anywhere
other than at the centre of a square to break.
[originally from svn r7311]
[r7310 ==
a428c5899de86897fe4e92fa6585b3c3908ce2ad]
Simon Tatham [Thu, 22 Feb 2007 18:13:12 +0000 (18:13 +0000)]
Patch from James H to make the Palm compiler stop objecting to my
(as far as I could tell) perfectly legal use of floats, and also
remove some VC warnings.
[originally from svn r7310]
Simon Tatham [Thu, 22 Feb 2007 18:09:51 +0000 (18:09 +0000)]
We may reluctantly permit the returning of a too-easy puzzle if an
adequately hard one couldn't be found, but we must never return a
puzzle harder than the user asked for, and we _certainly_ mustn't
return one that we aren't even sure has a unique solution.
However, when I attempted to implement this rule, it turned out that
an attempt to generate a 15x15 Easy puzzle didn't terminate before I
got bored and killed it. I'm therefore retiring the Easy difficulty
level on the grounds that it's not a wide enough band to be useful.
I've renamed Hard to Normal, and (while I was there) renamed
Recursive to Unreasonable in line with my normal practice.
[originally from svn r7309]
Simon Tatham [Thu, 22 Feb 2007 10:06:59 +0000 (10:06 +0000)]
James H forgot to credit himself for Galaxies!
[originally from svn r7308]
Simon Tatham [Thu, 22 Feb 2007 09:54:52 +0000 (09:54 +0000)]
Update the new-puzzle checklist for the post-bob world.
[originally from svn r7307]
Simon Tatham [Thu, 22 Feb 2007 09:50:33 +0000 (09:50 +0000)]
Missing uses of \q{}.
[originally from svn r7305]
Simon Tatham [Thu, 22 Feb 2007 09:31:43 +0000 (09:31 +0000)]
Add James Harvey's excellent new puzzle, `Galaxies'.
[originally from svn r7304]
Simon Tatham [Mon, 19 Feb 2007 19:38:00 +0000 (19:38 +0000)]
Forgot to shuffle the num[] array! That was probably introducing
some really subtle probabilistic bias in the generated latin squares.
[originally from svn r7302]
Jacob Nevins [Tue, 13 Feb 2007 23:01:50 +0000 (23:01 +0000)]
Replicate r7285 from PuTTY: make keyboard input work in HTML Help.
[originally from svn r7286]
[r7285 ==
3d78bf9b261b4bfd30ae00d5ba43744c4144c934 in putty repository]
Simon Tatham [Mon, 5 Feb 2007 12:41:21 +0000 (12:41 +0000)]
Now we have the new `module' command, use it.
[originally from svn r7224]
Simon Tatham [Sun, 4 Feb 2007 14:35:23 +0000 (14:35 +0000)]
Reinstate the icons in the Windows binaries.
[originally from svn r7217]
Simon Tatham [Sun, 4 Feb 2007 14:03:52 +0000 (14:03 +0000)]
Forgot to tag the Mac and Windows binaries with the revision number.
[originally from svn r7215]
Simon Tatham [Sun, 4 Feb 2007 13:44:38 +0000 (13:44 +0000)]
Looking for puzzles*.tar.gz in the right directory is liable to make
the .htaccess build work better :-)
[originally from svn r7214]
Simon Tatham [Sun, 4 Feb 2007 11:44:10 +0000 (11:44 +0000)]
Build script for Puzzles using bob. I've also added a piece of extra
infrastructure to the mkfiles.pl framework for the convenience of
the build script: it generates `wingames.lst', a list of the Windows
binaries which are ship-worthy games as opposed to nullgame or
command-line auxiliary programs.
[originally from svn r7206]
Simon Tatham [Sat, 27 Jan 2007 10:25:20 +0000 (10:25 +0000)]
Misdirected cross-reference spotted by Jonas Koelker.
[originally from svn r7172]
Simon Tatham [Tue, 16 Jan 2007 12:54:24 +0000 (12:54 +0000)]
Marcin Wojdyr points out that the use of `>&' to redirect both
stdout and stderr is non-standard. Switch to a POSIX-blessed
alternative.
[originally from svn r7116]
Simon Tatham [Mon, 15 Jan 2007 23:30:44 +0000 (23:30 +0000)]
Phil Bordelon points out an off-by-one error: since Solo doesn't use
zero as a valid puzzle symbol, it can support at most 35 symbols,
not 36. (This is largely academic since IME anything above about 25
is impractical to generate, but there we go.)
[originally from svn r7115]
Simon Tatham [Mon, 15 Jan 2007 20:21:57 +0000 (20:21 +0000)]
Patch from James H which shouldn't change the functionality of
Loopy, but makes it build more sensibly on the Palm.
[originally from svn r7114]
Simon Tatham [Mon, 15 Jan 2007 20:07:18 +0000 (20:07 +0000)]
Patch from James H to fix the occasional generation of puzzles
harder than requested.
[originally from svn r7113]
Simon Tatham [Mon, 15 Jan 2007 20:04:11 +0000 (20:04 +0000)]
Phil Bordelon points out that the Unequal difficulty settings
documentation is a bit odd, and also offers a signedness fix in
latin.c.
[originally from svn r7112]
Simon Tatham [Sun, 14 Jan 2007 10:13:29 +0000 (10:13 +0000)]
Give all the intermediate files distinct file names, so that a
multi-CPU machine can speed up the icon build using `make -j' and
not have it break.
[originally from svn r7106]
Jacob Nevins [Sat, 13 Jan 2007 19:19:21 +0000 (19:19 +0000)]
Formatting tweaks / index terms in Unequal docs.
[originally from svn r7105]
Simon Tatham [Sat, 13 Jan 2007 15:17:55 +0000 (15:17 +0000)]
First time I've added a new puzzle since the icons-and-screenshots
upheaval. Modify the checklist accordingly.
[originally from svn r7103]
Simon Tatham [Sat, 13 Jan 2007 14:59:15 +0000 (14:59 +0000)]
Icon for Unequal.
[originally from svn r7101]
Simon Tatham [Sat, 13 Jan 2007 14:44:50 +0000 (14:44 +0000)]
Add James H's new puzzle, `Unequal' (otherwise known as the
Guardian's `Futoshiki').
[originally from svn r7100]
Simon Tatham [Sat, 13 Jan 2007 12:03:42 +0000 (12:03 +0000)]
Remove a couple of rogue make targets for `osx.icns.o' and
`osx-info.plist.o' which had crept into most of the Makefiles.
[originally from svn r7099]
Simon Tatham [Thu, 11 Jan 2007 09:26:09 +0000 (09:26 +0000)]
Rather to my surprise given the amount of testing this code has had,
Kevin Lyles spotted a tree234 bug! copytree234() segfaulted when
asked to copy a tree containing no elements, due to failing to allow
for the case that t->root might be NULL. Fixed, and added a
regression test.
[originally from svn r7092]
Jacob Nevins [Thu, 4 Jan 2007 19:24:43 +0000 (19:24 +0000)]
In Windows/Gtk front-ends, consistently use the ellipsis convention for naming
menu items which bring up dialogs.
[originally from svn r7058]
Simon Tatham [Wed, 3 Jan 2007 09:51:42 +0000 (09:51 +0000)]
Phil Bordelon's patch yesterday should have initialised the GError
to NULL.
[originally from svn r7052]
Simon Tatham [Tue, 2 Jan 2007 19:45:19 +0000 (19:45 +0000)]
Phil Bordelon points out that my invocation of gdk_pixbuf_save()
isn't quite right.
[originally from svn r7050]
Jacob Nevins [Mon, 1 Jan 2007 21:19:14 +0000 (21:19 +0000)]
It's a new year.
[originally from svn r7048]
[this svn revision also touched putty,putty-website]
Jacob Nevins [Sat, 30 Dec 2006 00:50:29 +0000 (00:50 +0000)]
Document the new --game and --load options on Unix.
[originally from svn r7040]
Jacob Nevins [Sat, 30 Dec 2006 00:26:16 +0000 (00:26 +0000)]
Make errors in option parsing actually _do_ something in interactive mode.
[originally from svn r7039]
Jacob Nevins [Fri, 29 Dec 2006 22:43:47 +0000 (22:43 +0000)]
Bring .R files for nullgame and unfinished puzzles up to date with the rest of
the world (by adding icon support).
[originally from svn r7038]
Jacob Nevins [Fri, 29 Dec 2006 16:42:02 +0000 (16:42 +0000)]
Update manual copyright to 2006.
[originally from svn r7036]