chiark / gitweb /
sgt-puzzles.git
14 years agoNew puzzle, again using the revised latin.c: 'Towers', a clone of a
Simon Tatham [Thu, 7 Jan 2010 18:42:00 +0000 (18:42 +0000)]
New puzzle, again using the revised latin.c: 'Towers', a clone of a
latin-square puzzle which I've seen described by several names but
the most common is 'Skyscrapers'.

[originally from svn r8816]

14 years agoMemory leak fix from James H.
Simon Tatham [Thu, 7 Jan 2010 18:15:09 +0000 (18:15 +0000)]
Memory leak fix from James H.

[originally from svn r8815]

14 years agoProof that check_errors() is sufficient.
Simon Tatham [Tue, 5 Jan 2010 23:40:42 +0000 (23:40 +0000)]
Proof that check_errors() is sufficient.

[originally from svn r8813]

14 years agoRefer to group elements by letters instead of numbers, in keeping
Simon Tatham [Tue, 5 Jan 2010 23:40:41 +0000 (23:40 +0000)]
Refer to group elements by letters instead of numbers, in keeping
with usual abstract group notation. In puzzles with a clear
identity, it's called e.

[originally from svn r8812]

14 years agoAdd a facility in the latin.c solver diagnostics to allow a puzzle
Simon Tatham [Tue, 5 Jan 2010 23:40:40 +0000 (23:40 +0000)]
Add a facility in the latin.c solver diagnostics to allow a puzzle
to call the digit values by custom names.

[originally from svn r8811]

14 years agoAdd an even more evil (!) game mode, in which it's not made
Simon Tatham [Tue, 5 Jan 2010 19:52:52 +0000 (19:52 +0000)]
Add an even more evil (!) game mode, in which it's not made
immediately obvious which element of the group is the identity - at
least two elements including the identity have their rows and
columns completely blanked.

[originally from svn r8810]

14 years agoYikes! Fix a misaimed 'sizeof' which I only got away with because
Simon Tatham [Tue, 5 Jan 2010 18:51:42 +0000 (18:51 +0000)]
Yikes! Fix a misaimed 'sizeof' which I only got away with because
ints and pointers are usually the same size.

[originally from svn r8809]

14 years agoA user asked for the < signs in Unequal to be bolder.
Simon Tatham [Tue, 5 Jan 2010 18:26:55 +0000 (18:26 +0000)]
A user asked for the < signs in Unequal to be bolder.

[originally from svn r8808]

14 years agoMissing piece of code I should have cribbed from Solo: we have to
Simon Tatham [Tue, 5 Jan 2010 18:26:44 +0000 (18:26 +0000)]
Missing piece of code I should have cribbed from Solo: we have to
lay out large numbers of pencil marks differently in a square
containing a clue.

[originally from svn r8807]

14 years agoAnother 16-bit-cleanliness fix (and for once I spotted it before James!)
Simon Tatham [Tue, 5 Jan 2010 18:26:42 +0000 (18:26 +0000)]
Another 16-bit-cleanliness fix (and for once I spotted it before James!)

[originally from svn r8806]

14 years agoMemory leak fix from Tiago Dionizio: whenever we free the midend's
Simon Tatham [Mon, 4 Jan 2010 19:14:35 +0000 (19:14 +0000)]
Memory leak fix from Tiago Dionizio: whenever we free the midend's
collection of game states, we should also free the move strings from
which they were constructed.

[originally from svn r8805]

14 years ago16-bit cleanliness patch from James H.
Simon Tatham [Mon, 4 Jan 2010 18:55:56 +0000 (18:55 +0000)]
16-bit cleanliness patch from James H.

[originally from svn r8803]

14 years agoFor my own use in local Windows builds of the 'unfinished' puzzles,
Simon Tatham [Fri, 1 Jan 2010 20:06:34 +0000 (20:06 +0000)]
For my own use in local Windows builds of the 'unfinished' puzzles,
add an include directory to the Windows makefile so that source
files in subdirectories can find the main headers.

[originally from svn r8802]

14 years agoCouple of missing 'static's.
Simon Tatham [Fri, 1 Jan 2010 19:41:59 +0000 (19:41 +0000)]
Couple of missing 'static's.

[originally from svn r8801]

14 years agoNew puzzle in 'unfinished'. Essentially, Sudoku for group theorists:
Simon Tatham [Wed, 30 Dec 2009 16:53:36 +0000 (16:53 +0000)]
New puzzle in 'unfinished'. Essentially, Sudoku for group theorists:
you are given a partially specified Cayley table of a small finite
group, and must fill in all the missing entries using both Sudoku-
style deductions (minus the square block constraint) and the group
axioms. I've just thrown it together in about five hours by cloning-
and-hacking from Keen, as much as anything else to demonstrate that
the new latin.c interface really does make it extremely easy to
write new Latin square puzzles.

It's not really _unfinished_, as such, but it is just too esoteric
(not to mention difficult) for me to feel entirely comfortable with
adding it to the main puzzle collection. I can't bring myself to
throw it away, though, and who knows - perhaps a university maths
department might find it a useful teaching tool :-)

[originally from svn r8800]

14 years agoFix bug causing array overrun. Only seemed to be showing a symptom
Simon Tatham [Sun, 27 Dec 2009 19:18:22 +0000 (19:18 +0000)]
Fix bug causing array overrun. Only seemed to be showing a symptom
on Windows, presumably because the data after the array was harmless
elsewhere.

[originally from svn r8798]

14 years agoNew puzzle! 'Keen', a clone of KenKen.
Simon Tatham [Sun, 27 Dec 2009 10:01:23 +0000 (10:01 +0000)]
New puzzle! 'Keen', a clone of KenKen.

[originally from svn r8796]

14 years agoNormalise Unequal (and latin.c) so that solver diagnostics start
Simon Tatham [Sun, 27 Dec 2009 10:01:20 +0000 (10:01 +0000)]
Normalise Unequal (and latin.c) so that solver diagnostics start
their coordinate from 1 rather than 0, for consistency with Solo.
(My geek instincts would rather work from 0, but I've generally
found that puzzle users sending me email tend to prefer 1.)

[originally from svn r8795]

14 years agoI've never trusted common variables. Take those bare ints out of
Simon Tatham [Sun, 27 Dec 2009 10:01:18 +0000 (10:01 +0000)]
I've never trusted common variables. Take those bare ints out of
latin.h and put them in latin.c with 'extern' declarations in the
header.

[originally from svn r8794]

14 years agoIntroduce, and implement as usefully as I can in all front ends, a
Simon Tatham [Sun, 27 Dec 2009 10:01:16 +0000 (10:01 +0000)]
Introduce, and implement as usefully as I can in all front ends, a
new function in the drawing API which permits the display of text
from outside basic ASCII. A fallback mechanism is provided so that
puzzles can give a list of strings they'd like to display in order
of preference and the system will return the best one it can manage;
puzzles are required to cope with ASCII-only front ends.

[originally from svn r8793]

14 years agoTweak the semantics of dsf_merge() so that the canonical element of
Simon Tatham [Sun, 27 Dec 2009 10:01:11 +0000 (10:01 +0000)]
Tweak the semantics of dsf_merge() so that the canonical element of
any equivalence class is always the element with the smallest index.
This is slower (the previous behaviour, suggested by Jonas Koelker,
was to choose the new root element to maximise performance), but
still more than acceptably fast and more useful.

[originally from svn r8792]

14 years agoRefactor latin.c to make it easier to reuse. Instead of client
Simon Tatham [Sun, 27 Dec 2009 10:01:10 +0000 (10:01 +0000)]
Refactor latin.c to make it easier to reuse. Instead of client
programs having to clone the latin_solver() function and insert
their own extra deduction routines, they can now just _call_
latin_solver with enough parameters to let it fit its own deductions
into their difficulty framework and call a set of provided function
pointers to do user deductions. Modified Unequal to work in the new
world, of course.

[originally from svn r8791]

14 years agoNew mode for Unequal, from James H. In this mode, called 'Adjacent',
Simon Tatham [Sun, 27 Dec 2009 10:01:09 +0000 (10:01 +0000)]
New mode for Unequal, from James H. In this mode, called 'Adjacent',
the < and > clues are replaced by bars separating every pair of
squares whose contents differ by exactly 1. Unlike standard Unequal,
which presents only a subset of the available clues, in Adjacent the
clues are _all_ present, so you can deduce from the absence of a bar
that the two numbers it would separate are _not_ consecutive.

[originally from svn r8790]

14 years agolatin_generate_quick is long gone, so remove it from the header file.
Simon Tatham [Wed, 23 Dec 2009 11:34:25 +0000 (11:34 +0000)]
latin_generate_quick is long gone, so remove it from the header file.

[originally from svn r8789]

14 years agoKeyboard control for Dominosa (patch largely due to James H, though
Simon Tatham [Tue, 22 Dec 2009 16:47:42 +0000 (16:47 +0000)]
Keyboard control for Dominosa (patch largely due to James H, though
with considerable meddling from me).

[originally from svn r8788]

14 years agoJonas Koelker points out that the backspace key didn't work in GTK
Simon Tatham [Sun, 20 Dec 2009 10:01:57 +0000 (10:01 +0000)]
Jonas Koelker points out that the backspace key didn't work in GTK
Guess, because Guess expected ^H whereas GTK generated ^?. Other
puzzles that use Backspace do it by being prepared to see either,
which seems wasteful. Now the midend normalises both into ^H, so
front ends can generate whichever they like while puzzles can
safely just look for ^H.

[originally from svn r8786]

14 years agoMinor bug fixes from James Harvey.
Simon Tatham [Thu, 17 Dec 2009 18:20:32 +0000 (18:20 +0000)]
Minor bug fixes from James Harvey.

[originally from svn r8785]

14 years agoPatches from Frode Austvik to modify the effects of the mouse
Simon Tatham [Thu, 17 Dec 2009 18:16:42 +0000 (18:16 +0000)]
Patches from Frode Austvik to modify the effects of the mouse
buttons in several games if STYLUS_BASED is defined: in games where
you can set a puzzle element to 'on', 'off' or 'not yet set', when
it's hard to mimic a second mouse button, it's better to have the
one 'button' cycle between all three states rather than from 'on'
back to 'unset'.

[originally from svn r8784]

14 years agoPatch from Frode Austvik to tinker with the GTK interface if
Simon Tatham [Thu, 17 Dec 2009 18:12:18 +0000 (18:12 +0000)]
Patch from Frode Austvik to tinker with the GTK interface if
compiling gtk.c with STYLUS_BASED defined: most notably, it provides
a row of numeric 'keys' made of GTK button widgets for puzzles that
want a numeric keypad.

[originally from svn r8783]

14 years agoPatch from Frode Austvik to permit passing CFLAGS in to the Unix
Simon Tatham [Thu, 17 Dec 2009 17:55:42 +0000 (17:55 +0000)]
Patch from Frode Austvik to permit passing CFLAGS in to the Unix
makefile.

[originally from svn r8782]

14 years agoAnother wording tweak from Helge Kreutzmann.
Jacob Nevins [Sun, 13 Dec 2009 12:47:10 +0000 (12:47 +0000)]
Another wording tweak from Helge Kreutzmann.

[originally from svn r8780]

14 years agoFix for the grid generation in the presence of particularly strange
Simon Tatham [Mon, 16 Nov 2009 21:21:00 +0000 (21:21 +0000)]
Fix for the grid generation in the presence of particularly strange
grid types.

[originally from svn r8750]

14 years agoAdd a precautionary pair of initialisations to placate optimisers,
Simon Tatham [Tue, 10 Nov 2009 19:11:03 +0000 (19:11 +0000)]
Add a precautionary pair of initialisations to placate optimisers,
and asserts to check that the preinitialised values are never
actually used.

[originally from svn r8745]

14 years agoRemove ASCII-art arrows. Missing \dash (Debian bug #522439).
Jacob Nevins [Thu, 5 Nov 2009 14:09:04 +0000 (14:09 +0000)]
Remove ASCII-art arrows. Missing \dash (Debian bug #522439).

[originally from svn r8736]

14 years agoBeat up on Black Box docs, after Debian bug #548472.
Jacob Nevins [Wed, 4 Nov 2009 13:19:39 +0000 (13:19 +0000)]
Beat up on Black Box docs, after Debian bug #548472.

[originally from svn r8735]

14 years agoTypo fixes from Debian bug#554341.
Jacob Nevins [Wed, 4 Nov 2009 12:06:32 +0000 (12:06 +0000)]
Typo fixes from Debian bug#554341.

[originally from svn r8734]

14 years agoSingle mouse clicks to toggle individual grid edges stopped working
Simon Tatham [Tue, 13 Oct 2009 17:09:42 +0000 (17:09 +0000)]
Single mouse clicks to toggle individual grid edges stopped working
in r8414 as a side effect of reorganisation in interpret_move().
Reinstate them.

[originally from svn r8692]
[r8414 == 54801998744a69786a49ebe0688942ae7b57525b]

14 years agoAdd a couple of missing checks in validate_desc(), without which
Simon Tatham [Wed, 16 Sep 2009 12:57:07 +0000 (12:57 +0000)]
Add a couple of missing checks in validate_desc(), without which
bogus game IDs were getting as far as new_game() and failing
assertions.

[originally from svn r8655]

14 years agoMinor rewording and typo-correction.
Simon Tatham [Wed, 16 Sep 2009 11:06:02 +0000 (11:06 +0000)]
Minor rewording and typo-correction.

[originally from svn r8654]

14 years agoAha, I've managed to prove that my inadequate error highlighting is
Simon Tatham [Wed, 16 Sep 2009 10:57:11 +0000 (10:57 +0000)]
Aha, I've managed to prove that my inadequate error highlighting is
actually just about adequate after all. Large comment added
containing some discussion and the proof.

[originally from svn r8653]

14 years agoError-highlighted trees look nicer with a different-coloured trunk.
Simon Tatham [Sun, 13 Sep 2009 14:43:21 +0000 (14:43 +0000)]
Error-highlighted trees look nicer with a different-coloured trunk.
Also added a comment worrying about the universality of my error
highlighting mechanism.

[originally from svn r8647]

14 years agoRedo Mines and Inertia's mine graphics using an actual circle rather
Simon Tatham [Sun, 13 Sep 2009 13:08:34 +0000 (13:08 +0000)]
Redo Mines and Inertia's mine graphics using an actual circle rather
than an approximating octagon, to improve the look when zoomed to
high resolution.

[originally from svn r8646]

14 years agoTweak to the promptness of error highlighting display.
Simon Tatham [Sat, 12 Sep 2009 12:54:49 +0000 (12:54 +0000)]
Tweak to the promptness of error highlighting display.

[originally from svn r8645]

14 years agoAbout time I got round to this: error highlighting for Tents.
Simon Tatham [Sat, 12 Sep 2009 12:30:43 +0000 (12:30 +0000)]
About time I got round to this: error highlighting for Tents.

[originally from svn r8644]

14 years agoFix width/height braino introduced in r5844.
Simon Tatham [Wed, 9 Sep 2009 18:22:14 +0000 (18:22 +0000)]
Fix width/height braino introduced in r5844.

[originally from svn r8643]
[r5844 == 865e8ad6ca3d83ad2a585ceeb1809e9f68c18a20]

14 years agoAdd execute permission to the .exe files inside the zip file.
Simon Tatham [Fri, 28 Aug 2009 17:43:44 +0000 (17:43 +0000)]
Add execute permission to the .exe files inside the zip file.

[originally from svn r8634]

14 years agoMore defensive-coding fixes from James H.
Simon Tatham [Wed, 1 Jul 2009 22:01:21 +0000 (22:01 +0000)]
More defensive-coding fixes from James H.

[originally from svn r8605]

14 years agoPatch from Mark Wooding: when I did r7980 I had completely failed to
Simon Tatham [Sun, 21 Jun 2009 13:49:09 +0000 (13:49 +0000)]
Patch from Mark Wooding: when I did r7980 I had completely failed to
notice that there was an _official_ way to have menu items marked as
selected or unselected, which is the GtkRadioMenuItem class. Replace
my ad-hoc use of bullet characters with that.

[originally from svn r8601]
[r7980 == ae6c7381272f84c0fd398f6d3e496f571ba42ec8]

14 years agoPatch from Mark Wooding: use gdk_event_request_motions() where
Simon Tatham [Sun, 21 Jun 2009 13:39:54 +0000 (13:39 +0000)]
Patch from Mark Wooding: use gdk_event_request_motions() where
available, which magically seems to eliminate most if not all of the
update lag when dragging a point in a large (say 250-point)
Untangle. I don't fully understand how this works, but it seems to!

[originally from svn r8600]

14 years agoPatch from Mark Wooding: stop setting GTK_EXPAND for the x-direction
Simon Tatham [Sun, 21 Jun 2009 13:34:50 +0000 (13:34 +0000)]
Patch from Mark Wooding: stop setting GTK_EXPAND for the x-direction
on labels in tables. The effect is that if you resize (e.g.) Solo's
configuration panel, the labels to the left of the various input
boxes will remain just big enough to fit their text in, and all the
extra space will be taken up by the useful part, i.e. the input
boxes themselves. Previously the labels and input boxes would expand
in a 1:1 ratio, causing lots of space to the right of the label text
that wasn't used for anything.

[originally from svn r8599]

14 years agoPatch from Mark Wooding: one-pixel fix to the alignment of the
Simon Tatham [Sun, 21 Jun 2009 13:28:43 +0000 (13:28 +0000)]
Patch from Mark Wooding: one-pixel fix to the alignment of the
bottom and right edges of the Tents keyboard cursor.

[originally from svn r8598]

14 years agoPatch from Mark Wooding (though somewhat tampered with by me): have
Simon Tatham [Sun, 21 Jun 2009 13:24:48 +0000 (13:24 +0000)]
Patch from Mark Wooding (though somewhat tampered with by me): have
Loopy mark LINE_NO grid edges with very faint lines, instead of
leaving them totally undrawn. Helps in complex grid types where the
line layout isn't entirely obvious to a player not already familiar
with it. Disableable by setting LOOPY_FAINT_LINES=n in the
environment, just in case anyone turns out to seriously dislike it.
(You could probably disable it via LOOPY_COLOUR_6 too, but you'd
have to know the exact shade of your background to get that right.)

[originally from svn r8597]

14 years agoMemory management and other fixes from James H.
Simon Tatham [Wed, 17 Jun 2009 20:01:45 +0000 (20:01 +0000)]
Memory management and other fixes from James H.

[originally from svn r8596]

15 years agoFix a misdesign I must have missed when I reviewed the Killer patch:
Simon Tatham [Thu, 30 Apr 2009 17:56:56 +0000 (17:56 +0000)]
Fix a misdesign I must have missed when I reviewed the Killer patch:
merge_some_cages() was written in the assumption that it would
always be able to do something, in that it returned void on success
and if it couldn't find anything to do it would just loop round
forever trying the same things over and over again.

Now it makes a methodical list of the pairs of cages which are merge
candidates, goes through them in a random order until it finds a
viable one, and returns a boolean indicating whether it succeeded or
ran out of candidates.

A test case which previously hung and now does not is "solo
--generate 1 7jxkdt#12345-10".

[originally from svn r8541]

15 years agocheck_valid() wasn't checking that Killer cages contain at most one
Simon Tatham [Wed, 29 Apr 2009 23:11:10 +0000 (23:11 +0000)]
check_valid() wasn't checking that Killer cages contain at most one
of each digit, and - perhaps more importantly - the display code
wasn't highlighting violations of that rule as an error. Fix both.

[originally from svn r8540]

15 years agoIt's been a new year for some time now.
Jacob Nevins [Thu, 19 Mar 2009 23:32:30 +0000 (23:32 +0000)]
It's been a new year for some time now.

[originally from svn r8494]

15 years agoPatch from James H to provide 16-bit-int cleanliness in Killer Solo.
Simon Tatham [Mon, 2 Mar 2009 23:32:43 +0000 (23:32 +0000)]
Patch from James H to provide 16-bit-int cleanliness in Killer Solo.

[originally from svn r8489]

15 years agoPatch from James H to abstract out of Dominosa the code which
Simon Tatham [Mon, 2 Mar 2009 19:45:59 +0000 (19:45 +0000)]
Patch from James H to abstract out of Dominosa the code which
randomly generates a tiling of a rectangle with dominoes, since he
wants to reuse that function in another puzzle.

[originally from svn r8488]

15 years agoMake menus accessible from the keyboard in the Gtk front-end.
Jacob Nevins [Sun, 1 Mar 2009 13:51:32 +0000 (13:51 +0000)]
Make menus accessible from the keyboard in the Gtk front-end.

[originally from svn r8486]

15 years agoFix cosmetic glitch in the interaction between Killer and Jigsaw
Simon Tatham [Tue, 24 Feb 2009 07:49:01 +0000 (07:49 +0000)]
Fix cosmetic glitch in the interaction between Killer and Jigsaw
modes.

[originally from svn r8463]

15 years agoMake icon building cope with Solo's increased default tilesize as of r8455.
Jacob Nevins [Mon, 23 Feb 2009 17:42:50 +0000 (17:42 +0000)]
Make icon building cope with Solo's increased default tilesize as of r8455.

[originally from svn r8459]
[r8455 == 3d6de1eb47af21a9d9c0e6390b115febbf8b1d91]

15 years agoFix duplicate keyword.
Jacob Nevins [Sun, 22 Feb 2009 12:57:20 +0000 (12:57 +0000)]
Fix duplicate keyword.

[originally from svn r8458]

15 years agoA substantial patch to Solo from Bernd Schmidt, adding support for
Simon Tatham [Sun, 22 Feb 2009 12:16:54 +0000 (12:16 +0000)]
A substantial patch to Solo from Bernd Schmidt, adding support for
the 'Killer Sudoku' puzzle type. As a side effect I've had to
increase the default tile size of Solo, so that the extra numbers
drawn in the squares in Killer mode were still legible.

[originally from svn r8455]

15 years agoIntroduce some infrastructure to permit games' print functions to
Simon Tatham [Sun, 22 Feb 2009 12:05:38 +0000 (12:05 +0000)]
Introduce some infrastructure to permit games' print functions to
draw dotted lines. No puzzle yet uses this, but one's about to.

[originally from svn r8453]

15 years agoFix the Java front end's vertical text positioning when
Simon Tatham [Sun, 22 Feb 2009 12:02:40 +0000 (12:02 +0000)]
Fix the Java front end's vertical text positioning when
ALIGN_VNORMAL is in use: ALIGN_VNORMAL indicates that the supplied
y-coordinate denotes the _baseline_ of the text, not its top, so
adding on 'asc' to convert to the baseline is wrong.

This only affects Tents, at present.

[originally from svn r8452]

15 years agoKeyboard control patch for Bridges, from James H.
Simon Tatham [Thu, 5 Feb 2009 19:29:26 +0000 (19:29 +0000)]
Keyboard control patch for Bridges, from James H.

[originally from svn r8446]

15 years agoLee Dowling points out that duplicating the entire grid data
Simon Tatham [Thu, 5 Feb 2009 19:25:44 +0000 (19:25 +0000)]
Lee Dowling points out that duplicating the entire grid data
structure in every game_state is terribly wasteful. Move all the
constant bits of it (i.e. everything except the per-square 'blue'
flag) into a ref-counted shared structure.

[originally from svn r8444]

15 years agoKeyboard control patch for Black Box, from James H.
Simon Tatham [Wed, 28 Jan 2009 18:28:41 +0000 (18:28 +0000)]
Keyboard control patch for Black Box, from James H.

[originally from svn r8439]

15 years agoKeyboard control patch for Twiddle, from James H.
Simon Tatham [Wed, 28 Jan 2009 18:27:10 +0000 (18:27 +0000)]
Keyboard control patch for Twiddle, from James H.

[originally from svn r8438]

15 years agoKeyboard control patch for Pattern, from James H.
Simon Tatham [Tue, 27 Jan 2009 18:30:46 +0000 (18:30 +0000)]
Keyboard control patch for Pattern, from James H.

[originally from svn r8435]

15 years agoKeyboard control for Map, from James H.
Simon Tatham [Tue, 27 Jan 2009 18:26:10 +0000 (18:26 +0000)]
Keyboard control for Map, from James H.

[originally from svn r8434]

15 years agoReorder if statements in Unequal's interpret_move() so that presses
Simon Tatham [Mon, 26 Jan 2009 22:28:17 +0000 (22:28 +0000)]
Reorder if statements in Unequal's interpret_move() so that presses
of 'h' and 'm' are treated as digits if a square is selected, and
only treated as special commands otherwise. This renders very large
games (just about) playable.

Idea from Ben Hutchings's collection of Debian patches, although I
had to redo his (trivial) patch myself since the code has changed
recently.

(Addendum after committing: hmm, I see Jacob already applied the
original version of the patch a while back. Looks as if the recent
keyboard control change reintroduced the problem. Still, re-fixed
now.)

[originally from svn r8433]

15 years agoPatch from James H to add keyboard control in Sixteen and Netslide
Simon Tatham [Mon, 26 Jan 2009 19:14:44 +0000 (19:14 +0000)]
Patch from James H to add keyboard control in Sixteen and Netslide
(and also belatedly document the keyboard support in Unequal).

[originally from svn r8432]

15 years agoSwitch over to using the new-style GtkFileChooser in place of the
Simon Tatham [Mon, 26 Jan 2009 19:11:34 +0000 (19:11 +0000)]
Switch over to using the new-style GtkFileChooser in place of the
deprecated GtkFileSelection, at least when the latter is available.
Patch mostly due to Ori Avtalion.

[originally from svn r8431]

15 years agoAdd an automatic check for HAVE_SENSIBLE_ABSOLUTE_SIZE_FUNCTION by
Simon Tatham [Sat, 24 Jan 2009 17:58:42 +0000 (17:58 +0000)]
Add an automatic check for HAVE_SENSIBLE_ABSOLUTE_SIZE_FUNCTION by
using PANGO_CHECK_VERSION. (Irritatingly, the latter is not
available in all versions of Pango, so we have to be cautious about
using it at all. *sigh*)

[originally from svn r8430]

15 years agoKeyboard control patch for Pegs, from James H.
Simon Tatham [Tue, 20 Jan 2009 18:28:28 +0000 (18:28 +0000)]
Keyboard control patch for Pegs, from James H.

[originally from svn r8419]

15 years agoKeyboard control patch for Solo, from James H.
Simon Tatham [Mon, 19 Jan 2009 18:38:29 +0000 (18:38 +0000)]
Keyboard control patch for Solo, from James H.

[originally from svn r8418]

15 years agoKeyboard control patch for Slant, from James H.
Simon Tatham [Fri, 16 Jan 2009 18:52:18 +0000 (18:52 +0000)]
Keyboard control patch for Slant, from James H.

[originally from svn r8417]

15 years agoKeyboard cursor support for Tents, from James H.
Simon Tatham [Fri, 16 Jan 2009 18:50:22 +0000 (18:50 +0000)]
Keyboard cursor support for Tents, from James H.

[originally from svn r8416]

15 years agor8396 introduced midend_tilesize(). Document it.
Simon Tatham [Fri, 16 Jan 2009 18:45:01 +0000 (18:45 +0000)]
r8396 introduced midend_tilesize(). Document it.

[originally from svn r8415]
[r8396 == 7888d8db677e25d2401914e6aacb1be02301d15f]

15 years agoKeyboard cursor support for Rectangles, from James H.
Simon Tatham [Thu, 15 Jan 2009 18:20:02 +0000 (18:20 +0000)]
Keyboard cursor support for Rectangles, from James H.

[originally from svn r8414]

15 years agoKeyboard cursor support in Galaxies, by James H.
Simon Tatham [Thu, 15 Jan 2009 18:18:21 +0000 (18:18 +0000)]
Keyboard cursor support in Galaxies, by James H.

[originally from svn r8413]

15 years agoKeyboard interface for Filling, from James H.
Simon Tatham [Wed, 14 Jan 2009 20:44:25 +0000 (20:44 +0000)]
Keyboard interface for Filling, from James H.

[originally from svn r8412]

15 years agoPatch from James H to fix some off-by-one errors in Guess's click
Simon Tatham [Mon, 12 Jan 2009 20:30:12 +0000 (20:30 +0000)]
Patch from James H to fix some off-by-one errors in Guess's click
rectangle checking, preventing array bounds violation.

[originally from svn r8409]

15 years agoPatch from James H which adds keyboard cursor support to Unequal,
Simon Tatham [Mon, 12 Jan 2009 20:23:56 +0000 (20:23 +0000)]
Patch from James H which adds keyboard cursor support to Unequal,
and also updates the docs for both that and the Mines cursor support
in r8402.

[originally from svn r8408]
[r8402 == f20847354cb6335fd349204f16021a72e2956cce]

15 years agoPatches from James H to add or improve arrow-key-driven cursors for
Simon Tatham [Thu, 8 Jan 2009 18:28:32 +0000 (18:28 +0000)]
Patches from James H to add or improve arrow-key-driven cursors for
some puzzles. (Light Up's and Net's are merely polished a bit, but
Mines acquires a new one.)

[originally from svn r8402]

15 years agoPatch from Lambros to make the Normal difficulty level easier, since
Simon Tatham [Wed, 7 Jan 2009 23:07:11 +0000 (23:07 +0000)]
Patch from Lambros to make the Normal difficulty level easier, since
people have generally seemed to think Loopy is one of the more
difficult puzzles in the collection. There's a new level called
Tricky, between Normal and Hard, which is equivalent to the old
Normal.

[originally from svn r8398]

15 years agoStandalone solver for Loopy. Bit half-hearted, since the solver
Simon Tatham [Wed, 7 Jan 2009 21:55:21 +0000 (21:55 +0000)]
Standalone solver for Loopy. Bit half-hearted, since the solver
doesn't have diagnostics embedded and the ASCII formatter can't
print non-square puzzles anyway; but it can grade difficulty, which
is what I most immediately want it for.

[originally from svn r8397]

15 years agoPatch from James H to enable a single monolithic binary to be built
Simon Tatham [Tue, 6 Jan 2009 23:26:18 +0000 (23:26 +0000)]
Patch from James H to enable a single monolithic binary to be built
alongside the individual puzzle binaries, on Windows only. (MacOS
already has it, of course; Unix would require about as much work
again.)

[originally from svn r8396]

15 years agoBring the unfinished .R files into line with the current conventions.
Simon Tatham [Tue, 6 Jan 2009 23:21:42 +0000 (23:21 +0000)]
Bring the unfinished .R files into line with the current conventions.

[originally from svn r8395]

15 years agoDon't ignore the return code of fwrite(). (Slight modification of a
Simon Tatham [Fri, 12 Dec 2008 19:49:05 +0000 (19:49 +0000)]
Don't ignore the return code of fwrite(). (Slight modification of a
patch from Phil Bordelon.)

[originally from svn r8373]

15 years agoAdd missing call to gtk_selection_clear_targets(), without which the
Simon Tatham [Mon, 1 Dec 2008 23:04:17 +0000 (23:04 +0000)]
Add missing call to gtk_selection_clear_targets(), without which the
list of selection targets offered by GTK Puzzles grows an extra copy
of each of the three supported text formats every time the user
makes a selection!

[originally from svn r8365]

15 years agoStand-alone command-line interface to the obfuscate_bitmap()
Simon Tatham [Sat, 29 Nov 2008 13:51:36 +0000 (13:51 +0000)]
Stand-alone command-line interface to the obfuscate_bitmap()
function. Useful in conjunction with the new --save option to
generate lots of games, extract the aux strings from the game
generator, and de-obfuscate them in order to measure statistical
properties of their solutions.

[originally from svn r8352]

15 years agoThe other day I found it useful for a (silly) special purpose to
Simon Tatham [Sat, 29 Nov 2008 08:50:50 +0000 (08:50 +0000)]
The other day I found it useful for a (silly) special purpose to
generate a thousand saved-game files of randomly generated puzzles.
On the general principle that if I find it useful someone else
conceivably might too, add a --save option to the Unix puzzle
binaries, for use with --generate in much the same way as --print.

[originally from svn r8351]

15 years agoFix parenthesis problem in Light Up solver. Should fix Debian bug
Simon Tatham [Fri, 28 Nov 2008 19:33:40 +0000 (19:33 +0000)]
Fix parenthesis problem in Light Up solver. Should fix Debian bug
#505359.

[originally from svn r8342]

15 years agoLet's have some more presets in here: 3x3 is much _too_ short and
Simon Tatham [Fri, 28 Nov 2008 18:33:39 +0000 (18:33 +0000)]
Let's have some more presets in here: 3x3 is much _too_ short and
easy compared to 6x6.

[originally from svn r8340]

15 years agoPatch from Lee Dowling to implement mouse control in Sokoban, along
Simon Tatham [Sun, 16 Nov 2008 15:47:55 +0000 (15:47 +0000)]
Patch from Lee Dowling to implement mouse control in Sokoban, along
pretty much the same lines as Cube and Inertia.

[originally from svn r8301]

15 years agoTake out some lurking "nullgame" holdovers from unfinished puzzle
Simon Tatham [Sun, 16 Nov 2008 15:42:32 +0000 (15:42 +0000)]
Take out some lurking "nullgame" holdovers from unfinished puzzle
source files, in case they cause trouble. Spotted by Lee Dowling.

[originally from svn r8300]

15 years agoPatches from Lee Dowling to make Light Up and Net use the
Simon Tatham [Sun, 16 Nov 2008 15:37:58 +0000 (15:37 +0000)]
Patches from Lee Dowling to make Light Up and Net use the
CURSOR_SELECT2 button (to, respectively, toggle a "definitely not
light" dot and to rotate in the opposite direction from
CURSOR_SELECT).

[originally from svn r8299]

15 years agoCouple of solving-related mid-end tweaks. Firstly, when we generate
Simon Tatham [Sun, 16 Nov 2008 15:28:28 +0000 (15:28 +0000)]
Couple of solving-related mid-end tweaks. Firstly, when we generate
a game which comes with an aux string, we immediately self-test that
string by passing it to solve() and test by assertion that it
succeeded. So a bug in a back end which intermittently generates
malformed aux strings will be detected as soon as it occurs, instead
of only if the user happens to use the Solve operation on a
particular game in which it happened.

Secondly, Ctrl-S now (undocumentedly) triggers the Solve operation,
on the general principle that keyboard shortcuts tend to come in
handy, and on the specific principle that if you want to look at
lots of solved grids in quick succession (say, when observing their
general shape and nature to see if your generation algorithm was
good or not) it's handy to have a quick way of getting to them.

[originally from svn r8298]