aboutsummaryrefslogtreecommitdiff
path: root/Recipe (follow)
Commit message (Collapse)AuthorAge
* Debian requires -lm, where Red Hat didn't.Simon Tatham2005-08-31
| | | | [originally from svn r6247]
* Now that Map has some seriously complex deductions, it's about timeSimon Tatham2005-08-31
| | | | | | | | | | | | it had a command-line solver. In order to do this, I've had to expose the internal region numbering because the solver has to have some way to state which region it means; and in any case it's also useful to have human-visible region numbering so that two people can discuss a puzzle they're solving together. So pressing L during play now toggles the display of region numbers; and `mapsolver' uses those same numbers when showing its working and its solutions. [originally from svn r6244]
* New puzzle: `Inertia', originally written for Windows by BenSimon Tatham2005-08-27
| | | | | | | Olmstead and reimplemented with the help of his source code which he was kind enough to release into the public domain. [originally from svn r6222]
* New puzzle: `Loopy', an implementation of Nikoli's `Slither Link' orSimon Tatham2005-08-24
| | | | | | `Loop the Loop' puzzle. Contributed by Mike Pinna. [originally from svn r6211]
* Native Windows printing support, using the infrastructure I put inSimon Tatham2005-08-20
| | | | | | | | | | | | | | | | | | | | | place in r6190. I'm quite pleased that I didn't have to modify the printing infrastructure _at all_ to make this work; the only source change required outside windows.c was the addition of a trivial utility function midend_get_params(), and that was for the benefit of bulk puzzle generation rather than anything to do with actual printing. As far as I can tell, all printable puzzles now print almost indistinguishably from the way they print under Unix. If you look closely the font is slightly different, and the Windows standard hatching doesn't seem to be quite as nice as the kind I did by hand in ps.c (and, particularly annoyingly, hatched areas don't show up at all for me when I print to a file and use gv, though they come out fine on the printer itself); but it's all there, and it all works. [originally from svn r6193] [r6190 == af59dcf6858264103bbc621761feee3aed5aaf2a]
* Substantial infrastructure upheaval. I've separated the drawing APISimon Tatham2005-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as seen by the back ends from the one implemented by the front end, and shoved a piece of middleware (drawing.c) in between to permit interchange of multiple kinds of the latter. I've also added a number of functions to the drawing API to permit printing as well as on-screen drawing, and retired print.py in favour of integrated printing done by means of that API. The immediate visible change is that print.py is dead, and each puzzle now does its own printing: where you would previously have typed `print.py solo 2x3', you now type `solo --print 2x3' and it should work in much the same way. Advantages of the new mechanism available right now: - Map is now printable, because the new print function can make use of the output from the existing game ID decoder rather than me having to replicate all those fiddly algorithms in Python. - the new print functions can cope with non-initial game states, which means each puzzle supporting --print also supports --with-solutions. - there's also a --scale option permitting users to adjust the size of the printed puzzles. Advantages which will be available at some point: - the new API should permit me to implement native printing mechanisms on Windows and OS X. [originally from svn r6190]
* New puzzle: `Map'. Vaguely original, for a change.Simon Tatham2005-08-13
| | | | | | | | | | (This puzzle is theoretically printable, but I haven't added it in print.py since there's rather a lot of painful processing required to get from the game ID to the puzzle's visual appearance. It probably won't become printable unless I get round to implementing a more integrated printing architecture.) [originally from svn r6186]
* A bunch of new reasoning techniques in the Slant solver, leading toSimon Tatham2005-08-06
| | | | | | | a new Hard mode. Also added a command-line `slantsolver' which can grade puzzles and show working. [originally from svn r6167]
* New puzzle: `Light Up', by James H.Simon Tatham2005-08-04
| | | | | | | | | | Also in this checkin (committed by mistake - I meant to do it separately), a behind-the-scenes change to Slant to colour the two non-touching classes of diagonals in different colours. Both colours are set to black by default, but configuration by way of SLANT_COLOUR_* can distinguish them if you want. [originally from svn r6164]
* New puzzle: `Slant', picked from the Japanese-language section ofSimon Tatham2005-08-02
| | | | | | | | | | | nikoli.co.jp (which has quite a few puzzles that they don't seem to have bothered to translate into English). Minor structural change: the disjoint set forest code used in the Net solver has come in handy again, so I've moved it out into its own module dsf.c. [originally from svn r6155]
* Another game from James H: `Black Box'.Simon Tatham2005-07-17
| | | | [originally from svn r6100]
* New puzzle: `Untangle', cloned (with the addition of random gridSimon Tatham2005-07-16
| | | | | | | | | | | | | | | generation) from a simple but rather fun Flash game I saw this morning. Small infrastructure change for this puzzle: while most game backends find the midend's assumption that Solve moves are never animated to be a convenience absolving them of having to handle the special case themselves, this one actually needs Solve to be animated. Rather than break that convenience for the other puzzles, I've introduced a flag bit (which I've shoved in mouse_priorities for the moment, shamefully without changing its name). [originally from svn r6097]
* New puzzle: Dominosa.Simon Tatham2005-07-14
| | | | [originally from svn r6091]
* Enhancements to mkfiles.pl and Recipe to arrange for the auxiliarySimon Tatham2005-07-05
| | | | | | | | | | | command-line programs (solosolver, patternsolver, mineobfusc) to be built as part of the normal Makefiles. This means mkfiles.pl now has the capability to compile a source file more than once with different #defines. Also, fixes for those auxiliary programs and one fix in midend.c which the Borland compiler objected to while I was testing its makefile generation. [originally from svn r6066]
* There's always one. Forgot to add Pegs to `make install'.Simon Tatham2005-07-04
| | | | [originally from svn r6054]
* Peg Solitaire implementation, complete with a random boardSimon Tatham2005-07-04
| | | | | | | generator. The generator is lacking in almost any kind of finesse, but it produces puzzles which at least _I_ find plausibly puzzling. [originally from svn r6052]
* Load and Save are now supported on all three desktop platforms, andSimon Tatham2005-06-30
| | | | | | | documented. (This means the GTK temporary dependency on an environment variable is now gone.) [originally from svn r6042]
* And forgot to add guess to the Unix make install target! I need a list.Simon Tatham2005-06-23
| | | | [originally from svn r5998]
* `Guess', a Mastermind clone from James Harvey. This checkin alsoSimon Tatham2005-06-23
| | | | | | | | introduces a few new utility functions in misc.c, one of which is the bitmap obfuscator from Mines (which has therefore been moved out of mines.c). [originally from svn r5992]
* I'm sick of not having a `make install' target.Simon Tatham2005-06-18
| | | | [originally from svn r5973]
* Another new puzzle! This one isn't particularly deep or complexSimon Tatham2005-06-17
| | | | | | | | | (solving it only requires matrix inversion over GF(2), whereas several of the other puzzles in this collection are NP-complete in principle), but it's a fun enough thing to play with and is non-trivial to do in your head - especially on the hardest preset. [originally from svn r5967]
* James Harvey has contributed an implementation of `Same Game', alsoSimon Tatham2005-06-07
| | | | | | known as ksame (KDE) and Same GNOME (GNOME). [originally from svn r5914]
* Initial checkin of my Minesweeper clone, which uses a solver duringSimon Tatham2005-05-30
| | | | | | grid generation to arrange a mine layout that never requires guessing. [originally from svn r5859]
* Missed a vital semicolon off the Cygwin version.c makefile fragment.Simon Tatham2005-05-15
| | | | [originally from svn r5784]
* Er, except that I already had a makedist.sh. Transferred new versionSimon Tatham2005-05-15
| | | | | | code into that! [originally from svn r5783]
* Added automatic determination of the SVN revision number if a buildSimon Tatham2005-05-15
| | | | | | | takes place in a checked-out copy. Also added mkunxarc.sh which does the same version determination before building its archive. [originally from svn r5782]
* Introduce a versioning mechanism, and an `About' box in all frontSimon Tatham2005-05-15
| | | | | | | | | ends. Versioning will be done solely by Subversion revision number, since development on these puzzles is very incremental and gradual and there don't tend to be obvious points to place numbered releases. [originally from svn r5781]
* New puzzle: `twiddle', generalised from a random door-unlockingSimon Tatham2005-04-30
| | | | | | gadget in Metroid Prime 2. [originally from svn r5708]
* Initial checkin of `Solo', the number-placing puzzle popularised bySimon Tatham2005-04-23
| | | | | | the Times under the name `Sudoku'. [originally from svn r5660]
* `make release' target, which builds a .dmg disk image in whatSimon Tatham2005-01-24
| | | | | | appears to be the approved Apple fashion. [originally from svn r5197]
* Improve OS X help: split back up into multiple files (thanks toSimon Tatham2005-01-24
| | | | | | | Halibut's new \cfg{html-local-head} directive), and add some CSS to mimic the font choices of system help files. [originally from svn r5194]
* The #definition of COMBINED was done very badly: it was a piece ofSimon Tatham2005-01-24
| | | | | | | | | | platform-dependent code in puzzles.h (ick), which in turn depended on the magic symbol MAC_OS_X being defined by mkfiles.pl itself (yuck). Suddenly realised I can do much better simply by putting it in an OS X makefile extras section in Recipe, and removing both previous hacks. Much nicer. [originally from svn r5191]
* First cut at online help under OS X. I just built the HTML versionSimon Tatham2005-01-24
| | | | | | | | | of the manual using Halibut (with one additional magic tag in the <HEAD> section), stuck it in the right part of the application bundle, referenced it in Info.plist, and added a Help menu. Everything else was automatic. Not bad! [originally from svn r5190]
* Added a framework for putting things other than the binary into aSimon Tatham2005-01-23
| | | | | | | | | | Mac OS X application bundle, and provided an icon for Puzzles. Also renamed the OS X source file from macosx.m to osx.m, so that it can sit beside other things such as osx-info.plist and not cause enormously long filenames. [originally from svn r5179]
* Initial checkin of a Mac OS X port of puzzles, using Cocoa. AllSimon Tatham2005-01-22
| | | | | | | puzzles are compiled together into a single monolithic application which allows you to select each one from one of its menus. [originally from svn r5173]
* New puzzle: `pattern'.Simon Tatham2004-12-07
| | | | [originally from svn r4953]
* Richard B's utterly evil `netslide': cross between Net and Sixteen.Simon Tatham2004-05-26
| | | | [originally from svn r4257]
* Rename the Windows Net executable, due to its clash with the systemSimon Tatham2004-05-11
| | | | | | net.exe. [originally from svn r4215]
* Added a new game, `Rectangles', taken from nikoli.co.jp.Simon Tatham2004-05-11
| | | | [originally from svn r4206]
* The Windows RNG turns out to only give about 16 bits at a time. ThisSimon Tatham2004-05-03
| | | | | | | | | | | | | | | is (a) pretty feeble, and (b) means that although Net seeds transfer between platforms and still generate the same game, there's a suspicious discrepancy in the typical seed _generated_ by each platform. I have a better RNG kicking around in this code base already, so I'll just use it. Each midend has its own random_state, which it passes to new_game_seed() as required. A handy consequence of this is that initial seed data is now passed to midend_new(), which means that new platform implementors are unlikely to forget to seed the RNG because failure to do so causes a compile error! [originally from svn r4187]
* Added a status bar.Simon Tatham2004-04-29
| | | | [originally from svn r4174]
* Implemented text and clipping primitives in the frontend, and addedSimon Tatham2004-04-29
| | | | | | two new simple games `fifteen' and `sixteen'. [originally from svn r4173]
* Add a template file defining the null game.Simon Tatham2004-04-29
| | | | [originally from svn r4169]
* Add a menu bar, in both Windows and GTK. In particular, game modulesSimon Tatham2004-04-28
| | | | | | | | | are now expected to provide a list of `presets' (game_params plus a name) which are selectable from the menu. This means I can play both Octahedron and Cube without recompiling in between :-) While I'm here, also enabled a Cygwin makefile, which Just Worked. [originally from svn r4158]
* Most of a Windows front end. Something's not _quite_ right in theSimon Tatham2004-04-27
| | | | | | | GDI - there are blobs in the middle of powered lines in Net. But it's 99% there now. [originally from svn r4156]
* Implemented Cube, in a sufficiently general way that it also handlesSimon Tatham2004-04-27
| | | | | | the tetrahedron, octahedron and icosahedron. [originally from svn r4151]
* Initial checkin of a portable framework for writing small GUI puzzleSimon Tatham2004-04-25
games. [originally from svn r4138]