rockbox/apps/plugins/puzzles/src
Franklin Wei d64ff86fb6 puzzles: resync with upstream
This brings the source to upstream commit 506b073 (though I have made some
extra commits on top of that). Notably this includes a fix for a double-free
bug that I myself introduced upstream.

Change-Id: I02671586bbc34d63e05398ee971271fed42538cf
2018-06-20 19:13:03 -04:00
..
html puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
icons puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
unfinished puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
benchmark.pl
benchmark.sh
blackbox.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
blackbox.R
bridges.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
bridges.R
Buildscr puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
CHECKLST.txt
chm.css
combi.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
configure.ac
cube.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
cube.R
desktop.pl
devel.but puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
divvy.c
dominosa.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
dominosa.R
drawing.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
dsf.c
emcc.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
emcclib.js puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
emccpre.js puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
emccx.json puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
fifteen.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
fifteen.R
filling.c puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
filling.R
findloop.c
flip.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
flip.R
flood.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
flood.R
galaxies.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
galaxies.R
gamedesc.txt puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
grid.c puzzles: resync with upstream; add Loopy and Palisade, mouse mode 2017-11-21 19:29:45 -05:00
grid.h puzzles: resync with upstream; add Loopy and Palisade, mouse mode 2017-11-21 19:29:45 -05:00
gtk.c puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
guess.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
guess.R
inertia.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
inertia.R
keen.c puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
keen.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
latin.c puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
latin.h puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
laydomino.c
LICENCE puzzles: resync with upstream; add Loopy and Palisade, mouse mode 2017-11-21 19:29:45 -05:00
lightup.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
lightup.R
loopgen.c
loopgen.h
loopy.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
loopy.R
magnets.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
magnets.R
makedist.sh
Makefile.doc puzzles: misc. changes and sync with upstream 2017-08-23 14:22:09 -04:00
malloc.c
map.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
map.R
matching.c puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
matching.h puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
midend.c puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
mines.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
mines.R
misc.c puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
mkauto.sh
mkfiles.pl puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
nestedvm.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
net.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
net.R
netslide.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
netslide.R
no-icon.c
noicon.rc
nullfe.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
nullgame.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
nullgame.R
obfusc.c
osx-help.but
osx-info.plist puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
osx.icns
osx.m puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
padtoolbar.bmp
palisade.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
palisade.R
pattern.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
pattern.R
pearl.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
pearl.R
pegs.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
pegs.R
penrose.c
penrose.h
printing.c
ps.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
PuzzleApplet.java puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
puzzles.but puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
puzzles.h puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
puzzles.rc2
random.c
range.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
range.R
README puzzles: misc. changes and sync with upstream 2017-08-23 14:22:09 -04:00
Recipe puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
rect.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
rect.R
resource.h
samegame.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
samegame.R
signpost.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
signpost.R
singles.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
singles.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
sixteen.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
sixteen.R
slant.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
slant.R
solo.c puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
solo.R
tdq.c
tents.c puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
tents.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
towers.c puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
towers.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
tracks.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
tracks.R
tree234.c
tree234.h
twiddle.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
twiddle.R
undead.c puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
undead.R
unequal.c puzzles: resync with upstream 2018-06-20 19:13:03 -04:00
unequal.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
unruly.c puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
unruly.R
untangle.c puzzles: enable all the remaining games 2018-04-17 18:20:12 -04:00
untangle.R
version.c
version.h
wceinf.pl
webpage.pl puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
website.url puzzles: misc. changes and sync with upstream 2017-08-23 14:22:09 -04:00
windows.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
winiss.pl puzzles: misc. changes and sync with upstream 2017-08-23 14:22:09 -04:00
winwix.mc puzzles: resync with upstream 2018-04-24 19:06:30 -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/>.

If you've obtained the source code by downloading a .tar.gz archive
from the Puzzles web site, you should find several Makefiles in the
source code. However, if you've checked the source code out from the
Puzzles git repository, you won't find the Makefiles: they're
automatically generated by `mkfiles.pl', so run that to create them.

The Makefiles include:

 - `Makefile.am', together with the static `configure.ac', is intended
   as input to automake. Run `mkauto.sh' to turn these into a
   configure script and Makefile.in, after which you can then run
   `./configure' to create an actual Unix Makefile.

 - `Makefile.vc' should work under MS Visual C++ on Windows. Run
   'nmake /f Makefile.vc' in a Visual Studio command prompt.

 - `Makefile.cyg' should work under Cygwin / MinGW. With appropriate
   tweaks and setting of TOOLPATH, it should work for both compiling
   on Windows and cross-compiling on Unix.

 - `Makefile.osx' should work under Mac OS X, provided the Xcode
   tools are installed. It builds a single monolithic OS X
   application capable of running any of the puzzles, or even more
   than one of them at a time.

 - `Makefile.wce' should work under MS eMbedded Visual C++ on
   Windows and the Pocket PC SDK; it builds Pocket PC binaries.

Many of these Makefiles build a program called `nullgame' in
addition to the actual game binaries. This program doesn't do
anything; it's just a template for people to start from when adding
a new game to the collection, and it's compiled every time to ensure
that it _does_ compile and link successfully (because otherwise it
wouldn't be much use as a template). Once it's built, you can run it
if you really want to (but it's very boring), and then you should
ignore it.

DO NOT EDIT THE MAKEFILES DIRECTLY, if you plan to send any changes
back to the maintainer. The makefiles are generated automatically by
the Perl script `mkfiles.pl' from the file `Recipe' and the various
.R files. If you need to change the makefiles as part of a patch,
you should change Recipe, *.R, and/or mkfiles.pl.

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/>.