aboutsummaryrefslogtreecommitdiff
path: root/puzzles.h
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2023-04-23 10:58:53 +0100
committerSimon Tatham <anakin@pobox.com>2023-04-23 13:26:36 +0100
commit6c66e2b2de63b6a8159835516ee229bda3253bc2 (patch)
tree54983273fbc6f0bbc72f790e4d5f97c73c108562 /puzzles.h
parent4752c7a2d9bd83d41d418b31b931a9bb9af219fa (diff)
downloadpuzzles-6c66e2b2de63b6a8159835516ee229bda3253bc2.zip
puzzles-6c66e2b2de63b6a8159835516ee229bda3253bc2.tar.gz
puzzles-6c66e2b2de63b6a8159835516ee229bda3253bc2.tar.bz2
puzzles-6c66e2b2de63b6a8159835516ee229bda3253bc2.tar.xz
Support preferences in the GTK frontend.
Finally, some user-visible behaviour changes as a payoff for all that preparation work! In this commit, the GTK puzzles get a 'Preferences' option in the menu, which presents a dialog box to configure the preference settings. On closing that dialog box, the puzzle preferences are enacted immediately, and also saved to a configuration file where the next run of the same puzzle will reload them. The default file location is ~/.config/sgt-puzzles/<puzzlename>.conf, although you can override the .config dir via $XDG_CONFIG_HOME or override the Puzzles-specific subdir with $SGT_PUZZLES_DIR. This is the first commit that actually exposes all the new preferences work to the user, and therefore, I've also added documentation of all the current preference options.
Diffstat (limited to 'puzzles.h')
-rw-r--r--puzzles.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/puzzles.h b/puzzles.h
index e429c26..4084aa0 100644
--- a/puzzles.h
+++ b/puzzles.h
@@ -388,6 +388,8 @@ void free_cfg(config_item *cfg);
void free_keys(key_label *keys, int nkeys);
void obfuscate_bitmap(unsigned char *bmp, int bits, bool decode);
char *fgetline(FILE *fp);
+char *make_prefs_path(const char *dir, const char *sep,
+ const game *game, const char *suffix);
/* allocates output each time. len is always in bytes of binary data.
* May assert (or just go wrong) if lengths are unchecked. */