aboutsummaryrefslogtreecommitdiff
path: root/puzzles.h (follow)
Commit message (Collapse)AuthorAge
...
* After discussion with Simon, the game redraw functions are now passed a newJacob Nevins2004-08-16
| | | | | | | | | argument `dir' which tells them whether this redraw is due to an undo, rather than have them second-guess it from game state. Note that none of the actual games yet take advantage of this; so it hasn't been tested in anger (although it has been inspected by debugging). [originally from svn r4469]
* Added a help file, mostly thanks to Jacob.Simon Tatham2004-08-16
| | | | [originally from svn r4460]
* Now that we have string-encodable game parameters, let's support aSimon Tatham2004-05-20
| | | | | | | command-line argument which is either a set of parameters or a params+seed game ID. [originally from svn r4234]
* Introduce routines in each game module to encode a set of gameSimon Tatham2004-05-19
| | | | | | | | | | | | parameters as a string, and decode it again. This is used in midend.c to prepend the game parameters to the game seed, so that copying out of the Specific box is sufficient to completely specify the game you were playing. Throughout development of these games I have referred to `seed' internally, and `game ID' externally. Now there's a measurable difference between them! :-) [originally from svn r4231]
* Framework alteration: we now support a `game_ui' structure inSimon Tatham2004-05-11
| | | | | | | | | | | | | addition to the `game_state'. The new structure is intended to contain ephemeral data pertaining to the game's user interface rather than the actual game: things stored in the UI structure are not restored in an Undo, for example. make_move() is passed the UI to modify as it wishes; it is now allowed to return the _same_ game_state it was passed, to indicate that although no move has been made there has been a UI operation requiring a redraw. [originally from svn r4207]
* dupstr() should take a const char *. In particular, this allowsSimon Tatham2004-05-04
| | | | | | compilation under GTK 2. [originally from svn r4198]
* 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]
* Implement selection of game seeds, by reusing the config boxSimon Tatham2004-05-03
| | | | | | | | | mechanism I've just invented (the midend handles the standard game selection configuration). Each game is now required to validate its own seed data before attempting to base a game on it and potentially confusing itself. [originally from svn r4186]
* 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]
* `BOOLEAN' is a term already used by Win32. Bah. Change terminology.Simon Tatham2004-05-02
| | | | [originally from svn r4183]
* Configuration dialog box, on the GTK front end only as yet.Simon Tatham2004-05-01
| | | | [originally from svn r4182]
* 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 new game concept called a `flash'. This is a graphical effectSimon Tatham2004-04-28
| | | | | | | | | | | | | | | taking non-zero time, which is triggered by the making of a move and is _not_ hurried to its conclusion by the start of the next move (so the game redraw function is expected to be able to draw it in parallel with continuing moves). The only thing that prematurely terminates a flash is the start of a fresh flash. In particular, this concept is used to display the completion flash in Net, because at least _my_ playing instincts make me lock every piece I've unambiguously placed, and hence the last turn move is instantly followed by a lock move which was previously suppressing the completion flash. [originally from svn r4168]
* Have each game declare a name which is used for window titles etc.Simon Tatham2004-04-28
| | | | [originally from svn r4167]
* Introduce diagonal movement keys on the numeric keypad, and use themSimon Tatham2004-04-28
| | | | | | | | as an alternative control method in Cube. (This was a bit of hassle in the Windows front end; I also introduced a debugging framework and made TranslateMessage conditional.) [originally from svn r4162]
* 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]
* Further general development. Net is now playable, thoughSimon Tatham2004-04-26
| | | | | | configuration is absent as yet. [originally from svn r4145]
* General further development. Sketched out the mid-end, added moreSimon Tatham2004-04-25
| | | | | | GTK code, rudiments of event passing. [originally from svn r4141]
* Initial checkin of a portable framework for writing small GUI puzzleSimon Tatham2004-04-25
games. [originally from svn r4138]