diff options
| author | Simon Tatham <anakin@pobox.com> | 2004-04-29 19:23:08 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2004-04-29 19:23:08 +0000 |
| commit | a8c8237bd0362e4fe44a451eb81544b451ae4444 (patch) | |
| tree | c50e8ec0ef03edcdba50cd651076290f657ffa7e /cube.c | |
| parent | fa7ef572c782c9394f60202d950d3380dfdce5c3 (diff) | |
| download | puzzles-a8c8237bd0362e4fe44a451eb81544b451ae4444.zip puzzles-a8c8237bd0362e4fe44a451eb81544b451ae4444.tar.gz puzzles-a8c8237bd0362e4fe44a451eb81544b451ae4444.tar.bz2 puzzles-a8c8237bd0362e4fe44a451eb81544b451ae4444.tar.xz | |
Added a status bar.
[originally from svn r4174]
Diffstat (limited to 'cube.c')
| -rw-r--r-- | cube.c | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -788,7 +788,7 @@ game_state *new_game(game_params *params, char *seed) state->previous = state->current; state->angle = 0.0; - state->completed = FALSE; + state->completed = 0; state->movecount = 0; return state; @@ -1068,7 +1068,7 @@ game_state *make_move(game_state *from, int x, int y, int button) if (ret->facecolours[i]) j++; if (j == ret->solid->nfaces) - ret->completed = TRUE; + ret->completed = ret->movecount; } sfree(poly); @@ -1329,6 +1329,19 @@ void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate, draw_update(fe, 0, 0, (int)((bb.r-bb.l+2.0F) * GRID_SCALE), (int)((bb.d-bb.u+2.0F) * GRID_SCALE)); + + /* + * Update the status bar. + */ + { + char statusbuf[256]; + + sprintf(statusbuf, "%sMoves: %d", + (state->completed ? "COMPLETED! " : ""), + (state->completed ? state->completed : state->movecount)); + + status_bar(fe, statusbuf); + } } float game_anim_length(game_state *oldstate, game_state *newstate) @@ -1340,3 +1353,8 @@ float game_flash_length(game_state *oldstate, game_state *newstate) { return 0.0F; } + +int game_wants_statusbar(void) +{ + return TRUE; +} |