Framework alteration: we now support a `game_ui' structure in

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]
This commit is contained in:
Simon Tatham
2004-05-11 17:44:30 +00:00
parent a1c88470a3
commit 180802b362
10 changed files with 187 additions and 21 deletions

View File

@ -109,7 +109,16 @@ void free_game(game_state *state)
sfree(state);
}
game_state *make_move(game_state *from, int x, int y, int button)
game_ui *new_ui(game_state *state)
{
return NULL;
}
void free_ui(game_ui *ui)
{
}
game_state *make_move(game_state *from, game_ui *ui, int x, int y, int button)
{
return NULL;
}
@ -152,7 +161,8 @@ void game_free_drawstate(game_drawstate *ds)
}
void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate,
game_state *state, float animtime, float flashtime)
game_state *state, game_ui *ui,
float animtime, float flashtime)
{
}