Files
puzzles/unfinished
Simon Tatham 0058331aeb New backend functions: get_prefs and set_prefs.
These are similar to the existing pair configure() and custom_params()
in that get_prefs() returns an array of config_item describing a set
of dialog-box controls to present to the user, and set_prefs()
receives the same array with answers filled in and implements the
answers. But where configure() and custom_params() operate on a
game_params structure, the new pair operate on a game_ui, and are
intended to permit GUI configuration of all the settings I just moved
into that structure.

However, nothing actually _calls_ these routines yet. All I've done in
this commit is to add them to 'struct game' and implement them for the
functions that need them.

Also, config_item has new fields, permitting each config option to
define a machine-readable identifying keyword as well as the
user-facing description. For options of type C_CHOICES, each choice
also has a keyword. These keyword fields are only defined at all by
the new get_prefs() function - they're left uninitialised in existing
uses of the dialog system. The idea is to use them when writing out
the user's preferences into a configuration file on disk, although I
haven't actually done any of that work in this commit.
2023-04-23 13:25:06 +01:00
..
2021-03-29 18:22:20 +01:00
2021-03-29 19:02:23 +01:00

This subdirectory contains puzzle implementations which are
half-written, fundamentally flawed, or in other ways unready to be
shipped as part of the polished Puzzles collection.

The CMake build system will _build_ all of the source in this
directory (to ensure it hasn't become unbuildable), but they won't be
included in all-in-one puzzle binaries or installed by 'make install'
targets. If you want to temporarily change that, you can reconfigure
your build by defining the CMake variable PUZZLES_ENABLE_UNFINISHED.
For example,

  cmake . -DPUZZLES_ENABLE_UNFINISHED="group;slide"

will build as if both Group and Slide were fully official puzzles.