Ben Harris 1547154efb Expose the NO_EFFECT/UNUSED distinction through midend_process_key()
This removed the "handled" pointer and instead extends the existing
boolean return value (quit or don't quit) into an enumeration.  One of
the values still quits the program, but now there are different values
for keys that had an effect, had no effect, and are not used by the
puzzle at all.  The mapping from interpret_move results to process_key
results is roughly:

move string    -> PKR_SOME_EFFECT
MOVE_UI_UPDATE -> PKR_SOME_EFFECT
MOVE_NO_EFFECT -> PKR_NO_EFFECT
MOVE_UNUSED    -> PKR_UNUSED

The mid-end can also generate results internally, and is the only place
that PKR_QUIT can arise.

For compatibility, PKR_QUIT is zero, so anything expecting a false
return value to mean quit will be unsurprised.  The other values are
ordered so that lower values indicate a greater amount of handling of
the key.
2023-06-11 00:33:28 +01:00
2023-04-29 13:40:51 +01:00
2021-04-25 09:59:15 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-04-20 18:42:50 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-01-15 20:59:22 +00:00
2023-06-11 00:33:27 +01:00
2023-03-26 20:32:38 +01:00
2023-06-11 00:33:27 +01:00
2023-03-26 20:32:38 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-04-02 14:35:12 +01:00
2017-09-20 18:03:44 +01:00
2021-05-21 09:10:53 +01:00
2023-06-11 00:33:27 +01:00
2021-03-29 19:02:23 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2018-11-13 21:48:24 +00:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2017-05-07 16:25:56 +01:00

This is the README accompanying the source code to Simon Tatham's
puzzle collection. The collection's web site is at
<https://www.chiark.greenend.org.uk/~sgtatham/puzzles/>.

The puzzle collection is built using CMake <https://cmake.org/>. To
compile in the simplest way (on any of Linux, Windows or Mac), run
these commands in the source directory:

  cmake .
  cmake --build .

The manual is provided in Windows Help format for the Windows build;
in text format for anyone who needs it; and in HTML for the Mac OS X
application and for the web site. It is generated from a Halibut
source file (puzzles.but), which is the preferred form for
modification. To generate the manual in other formats, rebuild it,
or learn about Halibut, visit the Halibut website at
<https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Description
No description provided
Readme 26 MiB
Languages
C 93.3%
JavaScript 1.4%
Objective-C 1.1%
CMake 1.1%
HTML 0.8%
Other 2.2%