aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Ahem. The `Solve' option in orientable Twiddle needs to correct theSimon Tatham2005-05-02
| | | | | | orientations as well as the order! [originally from svn r5733]
* Silly (but harmless) typo.Simon Tatham2005-05-02
| | | | [originally from svn r5732]
* Added an automatic `Solve' feature to most games. This is useful forSimon Tatham2005-05-02
| | | | | | | | | | | | | | | | various things: - if you haven't fully understood what a game is about, it gives you an immediate example of a puzzle plus its solution so you can understand it - in some games it's useful to compare your solution with the real one and see where you made a mistake - in the rearrangement games (Fifteen, Sixteen, Twiddle) it's handy to be able to get your hands on a pristine grid quickly so you can practise or experiment with manoeuvres on it - it provides a good way of debugging the games if you think you've encountered an unsolvable grid! [originally from svn r5731]
* Oops; forgot to check in the copy-to-clipboard option for Windows.Simon Tatham2005-05-02
| | | | [originally from svn r5730]
* Introduce the concept of a `game_aux_info' structure. This isSimon Tatham2005-05-02
| | | | | | | | | | constructed at the same time as an internally generated game seed, so that it can preserve any interesting information known by the program at generation time but not physically contained within the text of the game seed itself. (Such as, for example, the solution.) Currently not used for anything yet, but it will be. [originally from svn r5729]
* It's actually vitally important, it turns out, to have all of theSimon Tatham2005-05-02
| | | | | | | | | `Cut', `Copy' and `Paste' items in the Edit menu of an OS X application - because there's nothing else that enables the keyboard cut/copy/paste shortcuts in an edit box! OS X Puzzles can now have game IDs pasted into it, which it previously couldn't. [originally from svn r5728]
* The addition of a `Copy' menu item on OS X was really beginning toSimon Tatham2005-05-01
| | | | | | | strain my unconventional menu organisation, so I've reverted to having `File' and `Edit' menus like everyone else. [originally from svn r5727]
* Copy-to-clipboard for Rectangles.Simon Tatham2005-05-01
| | | | [originally from svn r5726]
* Copy-to-clipboard facility for Fifteen, Sixteen and Twiddle.Simon Tatham2005-05-01
| | | | [originally from svn r5725]
* Introduced a new function in every game which formats a game_stateSimon Tatham2005-05-01
| | | | | | | | as text. This is used by front ends to implement copy-to-clipboard. Currently the function does nothing (and is disabled) in every game except Solo, but it's a start. [originally from svn r5724]
* I can never remember what that `TRUE' means in the game structureSimon Tatham2005-05-01
| | | | | | | | | definitions, so let's move it so that it's just next to the functions it relates to. This also opens the way for me to add more booleans next to other functions without getting confused as to which is which. [originally from svn r5723]
* Remove outdated comment :-)Simon Tatham2005-05-01
| | | | [originally from svn r5722]
* I think Windows fonts look better in bold as well.Simon Tatham2005-05-01
| | | | [originally from svn r5721]
* Fix game IDs, which I broke in the orientability change. AlsoSimon Tatham2005-04-30
| | | | | | | | introduce a sensible game ID notation for orientable games, and finally (*blush*) turn the orientability triangles back the right way up. [originally from svn r5718]
* After brainstorming with Gareth, we've decided that this is a muchSimon Tatham2005-04-30
| | | | | | | simpler and better way to indicate tile orientation than those colour bars. [originally from svn r5717]
* Bah, and of course there's a TODO comment I forgot to remove.Simon Tatham2005-04-30
| | | | [originally from svn r5714]
* Twiddle now has an additional mode in which tile orientationSimon Tatham2005-04-30
| | | | | | | matters. This mode is hard enough to scare the wossnames out of me, but that's no reason not to put it in anyway! [originally from svn r5713]
* Pango-derived fonts seem to generally look better if I ask for themSimon Tatham2005-04-30
| | | | | | in bold. [originally from svn r5709]
* New puzzle: `twiddle', generalised from a random door-unlockingSimon Tatham2005-04-30
| | | | | | gadget in Metroid Prime 2. [originally from svn r5708]
* Added a `--generate' command-line option in the GTK port of everySimon Tatham2005-04-29
| | | | | | | | | puzzle, to make it construcct puzzle IDs and output them on stdout. Also checked in print.py, a script which reads puzzle IDs on stdin and produces PostScript output. With these, you can generate pages of Pattern, Rectangles and Solo puzzles to take on trains with you. [originally from svn r5707]
* Correct block coordinate display when standalone solver shows itsSimon Tatham2005-04-29
| | | | | | working. [originally from svn r5706]
* Aha, even better: a Makefile hack that causes auto-detection of GTKSimon Tatham2005-04-28
| | | | | | 2 and fallback to GTK 1.2. [originally from svn r5705]
* Fix inconsistent vertical centring of text in GTK (and update Solo'sSimon Tatham2005-04-27
| | | | | | | todo list, which complained about this because Solo was the only puzzle noticeably affected). [originally from svn r5694]
* Patches for GTK 2. Puzzles already _built_ under GTK 2, but now itSimon Tatham2005-04-27
| | | | | | | | | | | | | | | builds better: - the GTK makefile now defines $(GTK_CONFIG) which you can override, so you can build for GTK 2 with no makefile-editing simply by running `make GTK_CONFIG="pkg_config gtk+-2.0"' - we use Pango to find appropriate fonts, which means the text in the puzzles actually (gasp!) adapts its size to the circumstances. Unfortunately, I've been unable to do this portably without depending on _either_ a Pango function that isn't present in older versions _or_ the underlying window system being X11; I'd appreciate someone doing better. [originally from svn r5693]
* Command-line solver was dividing up non-square puzzles the wrong waySimon Tatham2005-04-27
| | | | | | round. [originally from svn r5691]
* Pattern also contains an internal solver, so here's a command-lineSimon Tatham2005-04-27
| | | | | | interface to it just in case it comes in handy. [originally from svn r5686]
* The command-line solver's difficulty gradings now use the sameSimon Tatham2005-04-26
| | | | | | terminology as the puzzle GUI. [originally from svn r5683]
* Implement the remaining modes of reasoning in nsolve, and thusSimon Tatham2005-04-26
| | | | | | | | | | | | enable configurable puzzle difficulty. I'm only generating grids up to Times level (complicated non-recursive analysis but guessing never required); I wouldn't object to providing a Telegraph difficulty level (guessing required) but it turns out to be very hard indeed to generate at random. I might still add it later (probably under the name `Unreasonable' :-) if I can think of an efficient way to find them. [originally from svn r5682]
* Fix trivial UI glitch involving clicking on the border outside theSimon Tatham2005-04-26
| | | | | | | grid. I'm really starting to get annoyed by the default round- towards-zero behaviour of C integer division. [originally from svn r5681]
* Remove some legacy debugging code which was breaking the MinGWSimon Tatham2005-04-25
| | | | | | | build, and which is redundant given the new standalone solver functionality. [originally from svn r5672]
* Oops; _actually_ add the reasoning mode I mentioned in the lastSimon Tatham2005-04-25
| | | | | | checkin. [originally from svn r5671]
* Various changes prompted by my boss taking an interest:Simon Tatham2005-04-25
| | | | | | | | | | | | | - added a compilation option -DSTANDALONE_SOLVER which makes both of Solo's internal solvers accessible from the command line. - fix a bug in nsolve turned up by testing in this mode: it failed to iterate at all! Oddly, this massive improvement to the effectiveness of nsolve hasn't emptied the generated grids by very much. - add an extra mode of reasoning to my to-do list (which is the dual of one already there, so I'm kicking myself). [originally from svn r5670]
* Outstandingly cute mathematical transformation which allows me toSimon Tatham2005-04-24
| | | | | | lose a lot of code duplication in nsolve while preserving efficiency. [originally from svn r5667]
* Introduce configurable symmetry type in generated puzzles, and dropSimon Tatham2005-04-24
| | | | | | | | the default symmetry from order-4 down to order-2, which seems to mitigate the excessively-full-grid problem by permitting more freedom to remove stuff. [originally from svn r5666]
* Doc tweaks for Solo.Jacob Nevins2005-04-23
| | | | [originally from svn r5665]
* Simplify clip region handling under Windows, which also makes Solo'sSimon Tatham2005-04-23
| | | | | | | | | | | | | | | | clipping policy work properly. I haven't proved why it didn't work the previous way, but I have a good guess: I think that clip regions are handled by reference. So I saved the old clip region out of the DC, then did an IntersectClipRect, and then selected the old clip region back in again - but the old clip region had never been _de_-selected, because IntersectClipRect didn't change which object was selected but rather it modified-in-place the one that already was selected. So my attempt to restore the old clip region did nothing whatsoever, and thus clipping to two different rectangles during the same draw sequence failed. Now I'm completely destroying the clip region during unclip(), which seems to work better. [originally from svn r5662]
* Visual C points out a couple of typos.Simon Tatham2005-04-23
| | | | [originally from svn r5661]
* Initial checkin of `Solo', the number-placing puzzle popularised bySimon Tatham2005-04-23
| | | | | | the Times under the name `Sudoku'. [originally from svn r5660]
* Oops. Just noticed that the Windows front end completely ignores theSimon Tatham2005-03-15
| | | | | | `colour' parameter in draw_text(). [originally from svn r5507]
* Stop the Pattern grid generation from generating an entire row orSimon Tatham2005-02-24
| | | | | | | column of the same colour (at least when the dimensions are big enough to make this feasible). It's a little bit too easy otherwise! [originally from svn r5391]
* Fixes in grid generation for pedantic special cases when one or bothSimon Tatham2005-02-24
| | | | | | grid dimensions are very small. [originally from svn r5390]
* I've found NSView's setNeedsDisplayInRect: method, which isSimon Tatham2005-02-05
| | | | | | | obviously better than just calling setNeedsDisplay on the whole thing... [originally from svn r5258]
* Need to impose a _maximum_ width on edit boxes, as well as a minimumSimon Tatham2005-01-25
| | | | | | | | width; if allowed to resize to the text within them, they look terribly silly when containing an entire Rectangles or Pattern game ID. [originally from svn r5210]
* Sanitising the mouse input data was a good idea, but mySimon Tatham2005-01-25
| | | | | | implementation sucked. Revise it completely. [originally from svn r5209]
* Include code in midend.c to sanitise streams of mouse events so thatSimon Tatham2005-01-25
| | | | | | | | | | | back ends can be assured of always receiving them in a sensible sequence (button-down, followed by zero or more drags, followed by button-up, and never changing button in the middle of such a sequence). I have a suspicion this issue was the cause of the mysterious Pattern grid updates seen by Dan during testing last night. [originally from svn r5208]
* Ahem. Lots of stuff, including the new OS X sources, was being leftSimon Tatham2005-01-25
| | | | | | | | | out of the tarball by makedist.sh, causing the downloaded source tree to fail mkfiles.pl. Worse still, the GTK Makefile wasn't included, so people _needed_ to run mkfiles.pl! Both now fixed, I think. [originally from svn r5205]
* Updates for OS X port (including updating copyright statements).Simon Tatham2005-01-24
| | | | [originally from svn r5201]
* Ahem. Rogue copy and paste was causing preset menu items to go intoSimon Tatham2005-01-24
| | | | | | the Help menu rather than the Type menu. Fixed. [originally from svn r5199]
* `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]
* Help should have the shortcut Command-?.Simon Tatham2005-01-24
| | | | [originally from svn r5195]