aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* During redraws, I now do corner analysis centrally, which enables meSimon Tatham2004-05-12
| | | | | | | | | to maintain the `visible' array accurately and hence actually switch it on. This prevents us having to redraw the entire playing area on any move, which means really big grids are now sensibly playable without display lag. [originally from svn r4221]
* Remove vestigial code from the previous attempt at clever gridSimon Tatham2004-05-12
| | | | | | | generation. Grid generation should now be orders of magnitude faster at large sizes. [originally from svn r4220]
* Fiddle with the coordinate system to see if I can improve userSimon Tatham2004-05-12
| | | | | | experience. [originally from svn r4219]
* Flash on completion. Two people actually complained! :-)Simon Tatham2004-05-12
| | | | [originally from svn r4218]
* Missing draw_update call.Simon Tatham2004-05-11
| | | | [originally from svn r4216]
* Rename the Windows Net executable, due to its clash with the systemSimon Tatham2004-05-11
| | | | | | net.exe. [originally from svn r4215]
* Now we have the UI abstraction, use it to implement keyboard controlSimon Tatham2004-05-11
| | | | | | in Net. [originally from svn r4214]
* And I _always_ forget to clear the background when first drawing theSimon Tatham2004-05-11
| | | | | | | display of a new game, so I'll add it to nullgame.c and hope that makes me remember it next time! [originally from svn r4213]
* Cosmetic fixes for Windows.Simon Tatham2004-05-11
| | | | [originally from svn r4212]
* Don't rush move animation to a conclusion on a subsequent keypressSimon Tatham2004-05-11
| | | | | | | | unless there's actual activity happening as a result of the move. Net animations were tending to get rushed to conclusion by the mouse button release now that it's being reported to the mid-end. [originally from svn r4211]
* We should turn off the dragging variables in the UI _whenever_Simon Tatham2004-05-11
| | | | | | | `enddrag' is TRUE, not just when the end of the drag was within a sensible range. [originally from svn r4210]
* Rectangles is now actually playable, since I've used the new UISimon Tatham2004-05-11
| | | | | | | | feature to arrange a mechanism that allows you to draw a whole rectangle at a time by dragging rather than having to click each edge individually. [originally from svn r4209]
* Oops - missed a bit in the GTK front end :-)Simon Tatham2004-05-11
| | | | [originally from svn r4208]
* 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]
* Added a new game, `Rectangles', taken from nikoli.co.jp.Simon Tatham2004-05-11
| | | | [originally from svn r4206]
* Forgot to initialise the font variables in the Windows frontend structure.Simon Tatham2004-05-04
| | | | [originally from svn r4200]
* Forgot to set up the initial value of checkboxes.Simon Tatham2004-05-04
| | | | [originally from svn r4199]
* dupstr() should take a const char *. In particular, this allowsSimon Tatham2004-05-04
| | | | | | compilation under GTK 2. [originally from svn r4198]
* Net puzzles more than 32 tiles wide weren't working properly due toSimon Tatham2004-05-04
| | | | | | me testing the wrong variables for clicks on the tile border... [originally from svn r4197]
* Peter Maydell points out that the README misspells `Makefile' asSimon Tatham2004-05-04
| | | | | | `Makefile.gtk'. [originally from svn r4196]
* Uninitialised variable caused ultra-wide windows. Silly.Simon Tatham2004-05-04
| | | | [originally from svn r4195]
* Add a README.Simon Tatham2004-05-03
| | | | [originally from svn r4194]
* Shell script to prepare a source distribution archive.Simon Tatham2004-05-03
| | | | [originally from svn r4193]
* Add a licence file.Simon Tatham2004-05-03
| | | | [originally from svn r4192]
* Redraws during undo in Sixteen had been broken by my faffing aboutSimon Tatham2004-05-03
| | | | | | | | with last_movement_sense (which was necessary to fix the animation when the grid was only 2 squares wide in either dimension). Movement sense is now inverted if the move being animated is an undo. [originally from svn r4191]
* GTK and Windows appear to handle timers very differently:Simon Tatham2004-05-03
| | | | | | | | | | | specifically, the elapsed time between calls varies much more with GTK than it does under Windows. Therefore, I now take my own time readings on every timer call, and this appears to have made the animations run at closer to the same speed between platforms. Having done that, I decided some of them were at the _wrong_ speed, and fiddled with each game's timings as well. [originally from svn r4189]
* Make Return and Escape work reliably in GTK dialog boxes.Simon Tatham2004-05-03
| | | | [originally from svn r4188]
* 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]
* `Fifteen' was getting the parity wrong on any size of board whereSimon Tatham2004-05-03
| | | | | | | the top left and bottom right corners didn't have the same chessboard colour. [originally from svn r4185]
* 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]
* Remove arbitrary restriction on Net minimum game size. (Awww, cuteSimon Tatham2004-05-01
| | | | | | 2x2! Cuter 2x1!) [originally from svn r4181]
* Wrap the status bar in a viewport, to avoid it expanding if the textSimon Tatham2004-05-01
| | | | | | | doesn't fit in it. This not only looked ugly, but caused unnecessary calls to configure_area() and kept destroying the pixmap. [originally from svn r4180]
* The cube was being drawn slightly differently on the top and leftSimon Tatham2004-05-01
| | | | | | | | rows, because the coordinates were crossing one or other axis at that point and so the lower coordinate was being rounded up while the upper one was rounded down. Judicious use of floor() fixes it. [originally from svn r4179]
* Keep the status bar in better sync with the game display.Simon Tatham2004-04-30
| | | | [originally from svn r4177]
* We were forgetting to count the final move.Simon Tatham2004-04-30
| | | | [originally from svn r4176]
* Incorrect placing of the polyhedron sometimes left it on a blueSimon Tatham2004-04-30
| | | | | | square. Oops. [originally from svn r4175]
* 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]
* `There's always one'. Add nullgame to .cvsignore.Simon Tatham2004-04-29
| | | | [originally from svn r4170]
* Add a template file defining the null game.Simon Tatham2004-04-29
| | | | [originally from svn r4169]
* 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]
* Shift-click is equivalent to middle-click. This is mostly forSimon Tatham2004-04-28
| | | | | | | Windows users who may not have a middle button at all, but I've replicated it in GTK to maintain cross-platform consistency. [originally from svn r4166]
* Fix zillions of MSVC compiler warnings. Sigh.Simon Tatham2004-04-28
| | | | [originally from svn r4165]
* 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 .map and .rsp files to .cvsignore.Simon Tatham2004-04-28
| | | | [originally from svn r4160]
* More robust timer handling in GTK: never create a new timer when oneSimon Tatham2004-04-28
| | | | | | is already active. [originally from svn r4159]