aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Correction from James H: sqrt(0) shouldn't occur any more thanSimon Tatham2008-07-05
| | | | | | sqrt(1) should. [originally from svn r8108]
* More operations and bug fixes from James H.Simon Tatham2008-07-05
| | | | [originally from svn r8107]
* Remove rogue diagnostic.Simon Tatham2008-07-05
| | | | [originally from svn r8106]
* Add a build version designation to the NestedVM build, after JacobSimon Tatham2008-07-05
| | | | | | | pointed out that Help > About in the Java applets on my website currently reports "Unidentified build". [originally from svn r8105]
* Build the Java versions of the puzzles automatically as part of theSimon Tatham2008-06-27
| | | | | | | build process. Also update the new-puzzle checklist to make sure I set up and test the Java applet for any new game I add. [originally from svn r8096]
* Handle a <param name="game_id"> by passing it in to the C side asSimon Tatham2008-06-26
| | | | | | | | | argv[1], which in turn feeds it into the midend as a game ID. This can of course take any of the forms supported by the native C puzzles: a pure game parameter string, a params:description specific game ID, or a params#seed random game ID. [originally from svn r8095]
* The Java console keeps showing up error reports due to being askedSimon Tatham2008-06-26
| | | | | | | | | | to resize the puzzle to zero size. Ignore all such requests, in the assumption that a more sensible resize will be along soon enough (which does seem to happen, though I haven't debugged the NestedVM front end hard enough to figure out why the bogus resizes happen in the first place). [originally from svn r8094]
* James H has helpfully provided yet more silly operators for the -ASimon Tatham2008-06-24
| | | | | | | mode. I think some user-defined ruleset configuration options are now required... [originally from svn r8092]
* An option to enable a debugging mode for the BFS.Simon Tatham2008-06-23
| | | | [originally from svn r8091]
* Michael Schierl's patch to compile the puzzles as Java applets usingSimon Tatham2008-06-10
| | | | | | NestedVM. Wow! [originally from svn r8064]
* Just noticed that the return value of midend_process_key() wasn'tSimon Tatham2008-06-10
| | | | | | documented. [originally from svn r8062]
* New -A mode permitting even madder operators, and also -m to try toSimon Tatham2008-06-09
| | | | | | | print all possible paths to a value. The latter has a lot of de-duplication left to be done, due to multiple evaluation orders. [originally from svn r8061]
* Shamelessly pander to compilers whose data flow warning systemsSimon Tatham2008-04-14
| | | | | | | insist that a variable should be initialised in all branches of an if, instead of just all the non-assertion-failing ones. [originally from svn r7989]
* Now that we're highlighting the currently selected preset in theSimon Tatham2008-04-10
| | | | | | | | | | | | | | | Type menu, it looks faintly silly that Fifteen doesn't have any presets other than Custom: you open a Fifteen window in its default state, and the Type menu appears to be telling you it has a custom size! Fixed by adding a preset for the default parameters. I'd quite like to fix this properly by revamping the presets mechanism in a way that _enforces_ that there must always be a preset which matches the default parameters, but that's more fiddly than it sounds. For the moment, this change fixes the only externally visible infelicity in the current game set. [originally from svn r7983]
* Implement tick marks in the Type menu on Windows. Now all my frontSimon Tatham2008-04-09
| | | | | | ends have got them. [originally from svn r7982]
* Implement tick marks in the Type menu on OS X.Simon Tatham2008-04-09
| | | | [originally from svn r7981]
* New feature in midend.c which allows us to ask for the number of theSimon Tatham2008-04-08
| | | | | | | | | | currently selected preset, if any. I've used this in the GTK front end to have the Type menu mark the currently selected menu item. (After considerable beating of GTK with sticks, I might add. Grr.) Currently the same UI feature is not yet supported on Windows or MacOS, but I hope to do those too at some point if it's feasible. [originally from svn r7980]
* Having got Jigsaw mode generation working at reasonable speed, weSimon Tatham2008-04-08
| | | | | | can now productise it. [originally from svn r7979]
* Improvements to filled-grid generation. Introduced a cunning ideaSimon Tatham2008-04-08
| | | | | | | | | | | | | | | suggested by IWJ last night: grid generation can immediately choose an entire grid row randomly, since all that's doing is nailing down the names of the numbers, and that gets the whole thing started more efficiently. But the main difference is that now grid generation is given only area^2 steps to come up with a filled grid, and then cut off unceremoniously, causing grid generation to fail and be retried from scratch. This seems to prevent hangups on jigsaw layouts that admit few useful solutions, by changing layout constantly. 9j puzzles now generate at a sensible rate, and as an added bonus so do 5x5 normal puzzles, which they never used to. [originally from svn r7978]
* Ahem. Apparently forgot to compile-test after that one last tinySimon Tatham2008-04-07
| | | | | | change. [originally from svn r7977]
* Revise the printing colour framework so that we can explicitlySimon Tatham2008-04-07
| | | | | | | request either of hatching or halftoning, and also choose which to supply as a fallback when printing in colour. [originally from svn r7976]
* Pedantic tweaks to allow successful compilation on Windows. (gccSimon Tatham2008-04-07
| | | | | | | | failed to point out a declaration after a statement, and gcc's linker was clever enough to optimise the call to divvy_rectangle() out of solosolver so that I didn't have to include divvy.c in that.) [originally from svn r7975]
* Substantial reworking of Solo so that it implements both Sudoku-XSimon Tatham2008-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | (require both main diagonals to have one of every digit in addition to all the usual constraints) and Jigsaw Sudoku (replace the array of rectangular sub-blocks with the sub-blocks being random polyominoes). To implement the latter, I've moved my `divvy.c' library routine out of the `unfinished' subdirectory. Jigsaw mode is currently an undocumented feature: you enable it by setting the rows parameter to 1 (and the columns parameter to your desired grid size, which unlike normal Sudoku can be anything you like including a prime number). The reason it's undocumented is because generation times are not yet reliably short: sometimes generating a jigsaw-type puzzle can hang for hours and still get nowhere. (The algorithm should terminate in principle, but not in any time you're prepared to wait.) I _think_ I know how to solve this, but have yet to try it. Until then, jigsaw mode will remain a hidden feature. Printing of X-type puzzles is also substandard at present, because the current print-colour API replaces the desired light shading of the X-cells with heavy diagonal hatching. I plan to adjust the API imminently to address this. [originally from svn r7974]
* Hmm. Telling xvfb to default to a TrueColor visual did help, in thatSimon Tatham2008-03-20
| | | | | | | | | | it got rid of the bogus backgrounds on all the text; but on the other hand it mysteriously caused all the images to become black and white! Serves me right for testing with Bridges which was B&W to start with. Instead, we'll just tell xvfb to use a 24-bit display and let it sort out the visuals for itself; that seems to work better. [originally from svn r7932]
* I _think_, after some fairly random experimentation, that this oughtSimon Tatham2008-03-20
| | | | | | to fix the weird blacked-out text in the xvfb-built screenshots. [originally from svn r7931]
* Update the OS X Puzzles makefile so that it builds on Leopard andSimon Tatham2008-03-11
| | | | | | | | | | | | | | | | | | | | | | | generates PPC/Intel dual-architecture binaries. This turns out not to be too painful: you compile and link your programs using `gcc -arch ppc' or `gcc -arch i386', then you use a command of the form `lipo -create ppc-binary i386-binary -output binary' to construct a universal binary. It works equally well on command-line standalone executable files and the executables within application directories. Also added the -mmacosx-version-min option, since otherwise the OS X build tools appear to default to building binaries which will crash (without anything resembling a comprehensible error message) on any earlier release. The handling of version.o in this checkin is somewhat grotty. I'd prefer a method more cleverly intertwingled with mkfiles.pl so I didn't have to maintain the OS X architecture list in both mkfiles.pl and Recipe. (Not that I anticipate Apple switching architectures again in the immediate future, but it's the principle of the thing.) [originally from svn r7916]
* UI change to Filling: allow multiple squares to be set at once.Jacob Nevins2008-02-10
| | | | | | | | | (This change adds a new possibility to the save format, such that new save files won't necessarily be loadable by old binaries. I think that's acceptable -- it's certainly happened before -- but I couldn't find anything in the developer docs explicitly blessing it.) [originally from svn r7849]
* It's another new year.Jacob Nevins2008-02-10
| | | | [originally from svn r7848]
* Syntactic fixes by Zach Wily to make the OS X build work under 10.5.Simon Tatham2008-01-15
| | | | [originally from svn r7836]
* 64-bit cleanliness: we were already carefully using a uint32 type inSimon Tatham2007-12-15
| | | | | | the SHA code, but it wasn't correctly defined! [originally from svn r7817]
* A rigorous proof. Totally unimportant to the code, but I didn't wantSimon Tatham2007-08-25
| | | | | | to lose it :-) [originally from svn r7703]
* Fix an inaccurate comment.Simon Tatham2007-08-25
| | | | [originally from svn r7702]
* I've just realised that my deliberate avoidance of non-simplySimon Tatham2007-08-25
| | | | | | | | | connected polyominoes actually causes a loss of generality for sufficiently large k. I hadn't previously noticed, because you need k to be (I think) at least 23 and none of my potential applications require anything nearly that large. Add some discussion of this. [originally from svn r7701]
* Commit my work so far on a generator for Nikoli's `Block Puzzle'. ItSimon Tatham2007-08-25
| | | | | | | | | works, but it's slow, and the puzzles are currently at a relatively low level of difficulty. Also this is a generator only: no UI yet (because I'm waiting to see if I can make the generator practical before bothering to write the rest). [originally from svn r7700]
* Ahem. Finishing writing the comment _before_ checkin is generally sensible.Simon Tatham2007-08-18
| | | | [originally from svn r7694]
* Allow a 1-omino to be completely destroyed and recreated in anSimon Tatham2007-08-18
| | | | | | | | | | arbitrary unclaimed square. This cures the most common cause of generation failures (covering a large area in dominoes was the most difficult case, and would fail even if the large area was 1xn!); the failure rate is now sufficiently low under all circumstances I've found that I'm willing to just loop until I get a success. [originally from svn r7693]
* Better test-mode diagnostics.Simon Tatham2007-08-18
| | | | [originally from svn r7691]
* A piece of library code which constructs a random division of aSimon Tatham2007-08-18
| | | | | | | | rectangle into equally sized ominoes. I have a couple of potential applications for this, but none I've actually implemented yet, so for the moment it's living in `unfinished'. [originally from svn r7690]
* Experimental UI tweak enabled by a hacky environment variable:Simon Tatham2007-07-31
| | | | | | | | | | | | 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]
* A user points out that Loopy's solver relies on elements of theSimon Tatham2007-07-05
| | | | | | | | `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]
* Optimiser placation.Simon Tatham2007-06-29
| | | | [originally from svn r7625]
* Updates and improvements from Jonas Koelker.Simon Tatham2007-05-20
| | | | [originally from svn r7601]
* Left puzzles.rc2 out of the tarball. Oops.Simon Tatham2007-05-19
| | | | [originally from svn r7600]
* More forgiving selection of dragging targets.Simon Tatham2007-05-12
| | | | [originally from svn r7574]
* Graphics tweak: make the top-right and bottom-left corners ofSimon Tatham2007-05-12
| | | | | | everything look nicer. [originally from svn r7573]
* In-game user interface to the solver.Simon Tatham2007-05-12
| | | | [originally from svn r7572]
* Fix tiny memory leak if you pressed Solve while part way through anSimon Tatham2007-05-12
| | | | | | existing solution path. [originally from svn r7571]
* Remove the check for disconnected pieces; it's over-general andSimon Tatham2007-05-12
| | | | | | triggers on a perfectly connected piece shaped like an inverted T. [originally from svn r7570]
* noicon.rc was missing from the Unix source archive, which caused aSimon Tatham2007-05-10
| | | | | | re-run of mkfiles.pl to fail. [originally from svn r7567]
* Stand-alone slidesolver.Simon Tatham2007-05-07
| | | | [originally from svn r7558]