rockbox/apps/plugins/puzzles/src
Franklin Wei be5457b5eb puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025.
Notably, this enables "Group".

This also includes some changes to the Rockbox frontend:

- Removes extraneous underline from Extensive Help text.

- Implements a workaround for an upstream breaking change that removes
  the BLITTER_FROMSAVED flag. We depend on this for mouse mode. This
  is apparently the only place this flag was ever used. Note that I've
  hardcoded an arbitrary negative value for BLITTER_FROMSAVED instead
  of -1, for the reason Ben Harris mentioned in his commit removing it
  from the upstream source tree.

- Adds an implicit clip() to the game region when drawing a
  puzzle. This fixes a bug in Untangle where dragging a point off
  screen leads to ugly lines outside the play area.

- Implements "Quick Help" for unfinished plugins (but not "Extensive
  Help").

- Documents the need to disable unfinished plugins in resync.sh (weak
  symbols on win32).

Change-Id: Ic318a5db4b15acb437a3f951fbc9b7919c6fa652
2025-10-01 00:49:19 -04:00
..
unfinished puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
blackbox.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
bridges.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
CMakeLists.txt puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
combi.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
cube.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
divvy.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
dominosa.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
draw-poly.c puzzles: resync with upstream 262f709. 2024-08-16 16:31:28 -04:00
drawing.c puzzles: resync with upstream 262f709. 2024-08-16 16:31:28 -04:00
dsf.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
fifteen.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
filling.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
findloop.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
flip.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
flood.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
galaxies.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
grid.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
grid.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
gtk.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
guess.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
hat-internal.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
hat-tables.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
hat.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
hat.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
inertia.c puzzles: resync with upstream 262f709. 2024-08-16 16:31:28 -04:00
keen.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
latin.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
latin.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
laydomino.c
LICENCE puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
lightup.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
loopgen.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
loopgen.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
loopy.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
magnets.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
map.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
matching.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
matching.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
midend.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
mines.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
misc.c puzzles: resync with upstream 262f709. 2024-08-16 16:31:28 -04:00
mosaic.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
net.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
netslide.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
palisade.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
pattern.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
pearl.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
pegs.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
penrose-internal.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
penrose-legacy.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
penrose-legacy.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
penrose.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
penrose.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
printing.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
puzzles.but puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
puzzles.h puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
random.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
range.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
README puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
rect.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
samegame.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
signpost.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
singles.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
sixteen.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
slant.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
solo.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
sort.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
spectre-internal.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
spectre-tables-auto.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
spectre-tables-manual.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
spectre.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
spectre.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
tdq.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
tents.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
towers.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
tracks.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
tree234.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
tree234.h puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
twiddle.c puzzles: resync with upstream 262f709. 2024-08-16 16:31:28 -04:00
undead.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
unequal.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
unruly.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
untangle.c puzzles: resync with Simon's upstream e00cb46 from 25 Sep 2025. 2025-10-01 00:49:19 -04:00
version.c puzzles: resync with upstream 2024-07-22 21:44:08 -04:00
version.h puzzles: resync with upstream 2024-07-22 21:44:08 -04: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/>.