aboutsummaryrefslogtreecommitdiff
path: root/signpost.c (follow)
Commit message (Collapse)AuthorAge
* New rule: interpret_move() is passed a pointer to the game_drawstateSimon Tatham2012-09-09
| | | | | | | | | | | | | | | | basically just so that it can divide mouse coordinates by the tile size, but is definitely not expected to _write_ to it, and it hadn't previously occurred to me that anyone might try. Therefore, interpret_move() now gets a pointer to a _const_ game_drawstate instead of a writable one. All existing puzzles cope fine with this API change (as long as the new const qualifier is also added to a couple of subfunctions to which interpret_move delegates work), except for the just-committed Undead, which somehow had ds->ascii and ui->ascii the wrong way round but is otherwise unproblematic. [originally from svn r9657]
* Trivial and silly patch to allow users to configure the SignpostSimon Tatham2012-01-22
| | | | | | | | victory roll so that adjacent arrows rotate in opposite directions, giving the impression that they're an interlocking field of gears. Possibly even more brain-twisting than the original version :-) [originally from svn r9384]
* When we run out of background colours for chains and wrap back to theSimon Tatham2011-09-18
| | | | | | | | beginning, we should wrap back to COL_B0+1 rather than COL_B0 itself, so as not to reuse white. White should be special, and always indicate a properly numbered square. [originally from svn r9305]
* Patch from Chris Boyle to fix Signpost's labelling when you have moreSimon Tatham2011-09-18
| | | | | | | | than 26 separate linked chains of unnumbered squares: we now wrap from 'z' to an Excel-like 'aa', 'ab', ..., instead of falling off z into punctuation and control characters. [originally from svn r9304]
* Changed my mind about midend_is_solved: I've now reprototyped it asSimon Tatham2011-06-19
| | | | | | | | | | | | | | | | midend_status(), and given it three return codes for win, (permanent) loss and game-still-in-play. Depending on what the front end wants to use it for, it may find any or all of these three states worth distinguishing from each other. (I suppose a further enhancement might be to add _non_-permanent loss as a fourth distinct status, to describe situations in which you can't play further without pressing Undo but doing so is not completely pointless. That might reasonably include dead-end situations in Same Game and Pegs, and blown-self-up situations in Mines and Inertia. However, I haven't done this at present.) [originally from svn r9179]
* Portability fixes, mostly from James for Palm purposes. MostlySimon Tatham2011-05-04
| | | | | | | | additions of missing 'static' and explicit 'void' in parameter lists, plus one or two other things like explicitly casting chars in variadic argument lists to int and using DBL_MAX if HUGE_VAL isn't available. [originally from svn r9166]
* Add a function to every game backend which indicates whether a gameSimon Tatham2011-04-02
| | | | | | | | | | | state is in a solved position, and a midend function wrapping it. (Or, at least, a situation in which further play is pointless. The point is, given that game state, would it be a good idea for a front end that does that sort of thing to proactively provide the option to start a fresh game?) [originally from svn r9140]
* A user points out that Signpost doesn't in fact use the numericSimon Tatham2010-05-09
| | | | | | keypad, so it shouldn't have the REQUIRE_NUMPAD flag. [originally from svn r8939]
* Fix incorrect uses of ctype.h (passing it uncast chars, or otherSimon Tatham2010-04-17
| | | | | | things potentially not in the range 0..255). [originally from svn r8922]
* Fix from James H for an assertion failure during SignpostSimon Tatham2010-04-17
| | | | | | generation. To reproduce, try 'signpost --generate 1 7x7#12345-162'. [originally from svn r8921]
* Dylan O'Donnell reports that Signpost hangs on trying to generate aSimon Tatham2010-04-02
| | | | | | 2x2 puzzle. Rule it out in validate_params(). [originally from svn r8913]
* Fixes from James H to the numbering of squares, in particular:Simon Tatham2010-02-22
| | | | | | | | | - sometimes two regions would get the same letter - immutable numbers could sometimes be modified - immutable numbers are now not flagged as errors when they clash (same as Solo's policy) [originally from svn r8882]
* Fix build failure on MacOS by initialising a variable which wasSimon Tatham2010-02-18
| | | | | | | | reported as potentially-unused. (In fact, as far as I can tell, it's only ever uninitialised in assertion-failing code paths, so not a real bug.) [originally from svn r8873]
* A proper fix from James H for the negative number issue: theSimon Tatham2010-02-17
| | | | | | | assertion I crudely commented out has now been replaced with code that clearly shows what you did wrong in the failing situation. [originally from svn r8872]
* 'Fix' an assertion failure during play: accidentally connecting aSimon Tatham2010-02-16
| | | | | | | | | | | | long chain to a square numbered so low that the start of the chain would have to go into negative numbers should not crash the game, particularly when it happens as a momentary in-passing illustration. I've fixed it for the moment just by removing the assertion. There's probably a better fix which causes something less strange to happen to the display as a result. [originally from svn r8867]
* Docs and comments fixes from James H.Simon Tatham2010-02-16
| | | | [originally from svn r8866]
* New puzzle! Setting what might be a record for how long we've sat onSimon Tatham2010-02-15
a puzzle before it was ready to commit, here is 'Signpost': a clone of janko.at's "Arrow Path", by James Harvey. [originally from svn r8861]