diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-07-10 10:06:04 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-07-10 10:06:04 +0000 |
| commit | 145301d0dc5b75a89620ffe88bc8a890699eef59 (patch) | |
| tree | 5c9dcee0d3157b1b64760a7909e199c51b35db56 /malloc.c | |
| parent | ac36314b021854a642593be87a99cad9b04333a5 (diff) | |
| download | puzzles-145301d0dc5b75a89620ffe88bc8a890699eef59.zip puzzles-145301d0dc5b75a89620ffe88bc8a890699eef59.tar.gz puzzles-145301d0dc5b75a89620ffe88bc8a890699eef59.tar.bz2 puzzles-145301d0dc5b75a89620ffe88bc8a890699eef59.tar.xz | |
Change of policy on game_changed_state(). Originally, it was called
by the midend every time the game state changed _other_ than as a
result of make_move(), on the basis that when the game state changed
due to make_move() the game backend had probably noticed anyway.
However, when make_move() split up, this became more fiddly: if the
game_ui had to be updated based on some property of the final game
state, then execute_move() couldn't do it because it didn't have a
pointer to the game_ui, but it was fiddly to do it in
interpret_move() because that didn't directly have a copy of the
finished game state to examine. Same Game (the only game to be
affected) had to deal with this by actually having interpret_move()
_call_ execute_move() to construct a temporary new game state,
update the UI, and then throw it away.
So now, game_changed_state() is called _every_ time the current game
state changes, which means that if anything needs doing to the
game_ui as a result of examining the new game state, it can be done
there and save a lot of effort.
[originally from svn r6087]
Diffstat (limited to 'malloc.c')
0 files changed, 0 insertions, 0 deletions