aboutsummaryrefslogtreecommitdiff
path: root/misc.c (follow)
Commit message (Collapse)AuthorAge
* Patch idea from Debian, but modified considerably in implementation:Simon Tatham2010-04-25
| | | | | | | | | | | | introduce a new colour in Slant (COL_FILLEDSQUARE) which is used for the background of any grid square that has a diagonal line in it. This makes it easier to spot the one square on a giant board you forgot to fill in, but on the other hand I found it to look very strange and disconcerting. So I've set the colour to be identical to COL_BACKGROUND by default, and users who like the idea can enable it by environment variable or by local patch. [originally from svn r8930]
* Keyboard control for Dominosa (patch largely due to James H, thoughSimon Tatham2009-12-22
| | | | | | with considerable meddling from me). [originally from svn r8788]
* Patch from James H to add keyboard control in Sixteen and NetslideSimon Tatham2009-01-26
| | | | | | (and also belatedly document the keyboard support in Unequal). [originally from svn r8432]
* Patch from James H to centralise some generally useful cursor-Simon Tatham2008-09-13
| | | | | | handling functionality into misc.c. [originally from svn r8176]
* Add a new misc.c function needed by Slide's colour setup.Simon Tatham2007-05-07
| | | | [originally from svn r7552]
* 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]
* Two tiny cleanup patches from James H.Simon Tatham2005-07-17
| | | | [originally from svn r6111]
* Get rid of the malloc in shuffle(), by defining a subfunctionSimon Tatham2005-07-17
| | | | | | | memswap() which declares a fixed-size buffer on the stack and uses it multiple times if necessary. [originally from svn r6107]
* Another game from James H: `Black Box'.Simon Tatham2005-07-17
| | | | [originally from svn r6100]
* Cleanups and memory leak fixes from James H.Simon Tatham2005-07-16
| | | | [originally from svn r6099]
* Introduce a `shuffle' utility function.Simon Tatham2005-07-14
| | | | [originally from svn r6090]
* Refactoring from James H: the highlight and lowlight colour setupSimon Tatham2005-07-06
| | | | | | | common to Fifteen, Sixteen, Twiddle and Pegs is now a utility function in misc.c. [originally from svn r6076]
* `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]
* 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]
* Game configuration box for Windows, by constructing the dialog boxSimon Tatham2004-05-03
| | | | | | | | | | right from scratch without the slightest reference to any dialog templates (meaning that we get to figure out the layout and _then_ choose the window size). I'm rather pleased with that. Also introduced free_cfg(), which is why this checkin touched gtk.c as well. [originally from svn r4184]
* Implemented text and clipping primitives in the frontend, and addedSimon Tatham2004-04-29
two new simple games `fifteen' and `sixteen'. [originally from svn r4173]