aboutsummaryrefslogtreecommitdiff
path: root/puzzles.h
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2004-04-28 12:07:15 +0000
committerSimon Tatham <anakin@pobox.com>2004-04-28 12:07:15 +0000
commit3d8e7585b7a9d215e4b40d9f83f7fa5a0fd79b43 (patch)
treebcbe1187a4bedd34122a5a65366c2dbfe2e8641b /puzzles.h
parent03e486268314c77a0180c7c2c4fbe2bb74c1a553 (diff)
downloadpuzzles-3d8e7585b7a9d215e4b40d9f83f7fa5a0fd79b43.zip
puzzles-3d8e7585b7a9d215e4b40d9f83f7fa5a0fd79b43.tar.gz
puzzles-3d8e7585b7a9d215e4b40d9f83f7fa5a0fd79b43.tar.bz2
puzzles-3d8e7585b7a9d215e4b40d9f83f7fa5a0fd79b43.tar.xz
Add a menu bar, in both Windows and GTK. In particular, game modules
are now expected to provide a list of `presets' (game_params plus a name) which are selectable from the menu. This means I can play both Octahedron and Cube without recompiling in between :-) While I'm here, also enabled a Cygwin makefile, which Just Worked. [originally from svn r4158]
Diffstat (limited to 'puzzles.h')
-rw-r--r--puzzles.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/puzzles.h b/puzzles.h
index 6300e74..86c2cc1 100644
--- a/puzzles.h
+++ b/puzzles.h
@@ -61,6 +61,9 @@ int midend_process_key(midend_data *me, int x, int y, int button);
void midend_redraw(midend_data *me);
float *midend_colours(midend_data *me, int *ncolours);
void midend_timer(midend_data *me, float tplus);
+int midend_num_presets(midend_data *me);
+void midend_fetch_preset(midend_data *me, int n,
+ char **name, game_params **params);
/*
* malloc.c
@@ -87,7 +90,9 @@ void random_free(random_state *state);
* Game-specific routines
*/
game_params *default_params(void);
+int game_fetch_preset(int i, char **name, game_params **params);
void free_params(game_params *params);
+game_params *dup_params(game_params *params);
char *new_game_seed(game_params *params);
game_state *new_game(game_params *params, char *seed);
game_state *dup_game(game_state *state);