Simon Tatham 51818780f8 Galaxies: remove 'solver_recurse_depth' in live use.
It's horrible to have static mutable state in the live puzzle game.
What if some downstream wanted to run the system in multiple threads?

For purposes of limiting the recursion depth, we now pass an 'int depth'
argument to each call to solver_state_inner(). So in the normal build
of the actual puzzle, the static variable isn't needed at all. We only
include it in binaries that are going to want to use it for printing
indented diagnostics: the CLI solver program, and the live puzzle only
if DEBUGGING is defined. The rest of the time, it's absent.

A side effect of this change is that when the recursion code makes a
guess at a particular tile, the message about that is now indented to
the _outer_ level instead of the inner one, because the previous
'depth++' and 'depth--' statements wrapped the whole loop rather than
just the recursive call to the solver inside. This makes recursive
solving much easier to follow!
2023-03-12 14:41:05 +00:00
2021-04-25 09:59:15 +01:00
2018-11-13 21:48:24 +00:00
2023-02-23 23:16:18 +00:00
2023-01-31 23:25:05 +00:00
2023-01-31 23:25:05 +00:00
2023-01-15 20:59:22 +00:00
2023-01-15 16:24:27 +00:00
2023-01-15 16:24:27 +00:00
2023-03-10 18:46:06 +00:00
2023-01-31 23:25:05 +00:00
2018-11-13 21:48:24 +00:00
2023-02-18 23:14:12 +00:00
2023-02-18 23:14:12 +00:00
2023-02-26 22:47:23 +00:00
2023-02-15 14:07:59 +00:00
2023-02-13 21:23:58 +00:00
2018-11-13 21:48:24 +00:00
2017-09-20 18:03:44 +01:00
2021-05-21 09:10:53 +01:00
2021-03-29 19:02:23 +01:00
2023-01-31 23:25:05 +00:00
2023-02-18 23:14:12 +00:00
2023-01-31 23:25:05 +00:00
2018-11-13 21:48:24 +00:00
2023-01-31 23:25:05 +00:00
2023-02-18 23:14:12 +00:00
2017-05-07 16:25:56 +01:00
2023-03-10 18:46:06 +00: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%