diff options
| author | Ben Harris <bjh21@bjh21.me.uk> | 2023-01-31 21:05:47 +0000 |
|---|---|---|
| committer | Ben Harris <bjh21@bjh21.me.uk> | 2023-01-31 23:25:05 +0000 |
| commit | 789e11f8f802889904c7eb137d354877f647c88d (patch) | |
| tree | 67b9e13a88fa00a0b78912a7a4a9d4816ff0b3dd /samegame.c | |
| parent | ccd579e72ee8ea2de46786a6b296f37a0ecf5867 (diff) | |
| download | puzzles-789e11f8f802889904c7eb137d354877f647c88d.zip puzzles-789e11f8f802889904c7eb137d354877f647c88d.tar.gz puzzles-789e11f8f802889904c7eb137d354877f647c88d.tar.bz2 puzzles-789e11f8f802889904c7eb137d354877f647c88d.tar.xz | |
Remove various unused game functions
If can_configure is false, then the game's configure() and
custom_params() functions will never be called. If can_solve is false,
solve() will never be called. If can_format_as_text_ever is false,
can_format_as_text_now() and text_format() will never be called. If
can_print is false, print_size() and print() will never be called. If
is_timed is false, timing_state() will never be called.
In each case, almost all puzzles provided a function nonetheless. I
think this is because in Puzzles' early history there was no "game"
structure, so the functions had to be present for linking to work. But
now that everything indirects through the "game" structure, unused
functions can be left unimplemented and the corresponding pointers set
to NULL.
So now where the flags mentioned above are false, the corresponding
functions are omitted and the function pointers in the "game" structures
are NULL.
Diffstat (limited to 'samegame.c')
| -rw-r--r-- | samegame.c | 25 |
1 files changed, 3 insertions, 22 deletions
@@ -1016,12 +1016,6 @@ static void free_game(game_state *state) sfree(state); } -static char *solve_game(const game_state *state, const game_state *currstate, - const char *aux, const char **error) -{ - return NULL; -} - static bool game_can_format_as_text_now(const game_params *params) { return true; @@ -1656,19 +1650,6 @@ static int game_status(const game_state *state) return state->complete ? +1 : 0; } -static bool game_timing_state(const game_state *state, game_ui *ui) -{ - return true; -} - -static void game_print_size(const game_params *params, float *x, float *y) -{ -} - -static void game_print(drawing *dr, const game_state *state, int tilesize) -{ -} - #ifdef COMBINED #define thegame samegame #endif @@ -1688,7 +1669,7 @@ const struct game thegame = { new_game, dup_game, free_game, - false, solve_game, + false, NULL, /* solve */ true, game_can_format_as_text_now, game_text_format, new_ui, free_ui, @@ -1708,8 +1689,8 @@ const struct game thegame = { game_flash_length, game_get_cursor_location, game_status, - false, false, game_print_size, game_print, + false, false, NULL, NULL, /* print_size, print */ true, /* wants_statusbar */ - false, game_timing_state, + false, NULL, /* timing_state */ 0, /* flags */ }; |