simon-svn: puzzles: simon

tartarus-commits at lists.tartarus.org tartarus-commits at lists.tartarus.org
Mon Jun 6 12:21:38 BST 2005


SVN root:       svn://ixion.tartarus.org/main
Changes by:     simon
Revision:       5912
Date:           2005-06-06 12:21:36 +0100 (Mon, 06 Jun 2005)

Log message (15 lines):
Introduce a new game backend function (there seem to have been a lot
of these recently) whose job is to update a game_ui to be consistent
with a new game_state. This is called by midend.c in every situation
where the current game_state changes _other_ than as a result of
make_move (Undo, Redo, Restart, Solve).

The introduction of this function allows a game_ui to contain
information about selections or highlights within a game_state which
simply wouldn't make sense when transferred to another game_state.
In particular, I've used it to fix a subtle bug in Solo whereby,
although you couldn't right-click to pencil-mode highlight a filled
square, you could _get_ a pencil-mode highlight in a filled square
if you used Undo and Redo. (Undo to before the square was filled,
right-click to highlight it, then Redo. Alternatively, left-click
and clear the square, right-click to highlight it, then Undo.)

Modified files:
U   puzzles/cube.c
U   puzzles/fifteen.c
U   puzzles/midend.c
U   puzzles/mines.c
U   puzzles/net.c
U   puzzles/netslide.c
U   puzzles/nullgame.c
U   puzzles/pattern.c
U   puzzles/puzzles.h
U   puzzles/rect.c
U   puzzles/sixteen.c
U   puzzles/solo.c
U   puzzles/twiddle.c

Links:
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi?rev=5912&view=rev
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/cube.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/fifteen.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/midend.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/mines.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/net.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/netslide.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/nullgame.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/pattern.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/puzzles.h?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/rect.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/sixteen.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/solo.c?rev=5912&r1=5911&r2=5912
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/puzzles/twiddle.c?rev=5912&r1=5911&r2=5912



More information about the tartarus-commits mailing list