rockbox/apps/plugins/puzzles/src
Franklin Wei 5094aaa4d4 puzzles: Follow cursor in zoom mode and general code cleanup.
Frontends now have a way to retrieve the backend cursor position with some
changes I've submitted upstream. With this information, we can now follow
the cursor around in "interaction mode" while zoomed in, eliminating (most)
need for mode switching.

Also does some cleanup of the frontend code.

Change-Id: I1ba118f67564a3baed95435f5619b73cfa3ae87a
2020-07-06 23:00:13 -04:00
..
html puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
icons puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
unfinished puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
benchmark.pl puzzles: resync with upstream 2019-05-15 18:16:27 -04:00
benchmark.sh
blackbox.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
blackbox.R
bridges.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
bridges.R
Buildscr puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
CHECKLST.txt
chm.css
combi.c puzzles: resync with upstream 2017-10-23 17:19:29 -04:00
configure.ac
cube.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
cube.R
desktop.pl
devel.but puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
divvy.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
dominosa.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
dominosa.R puzzles: resync with upstream 2019-05-15 18:16:27 -04:00
drawing.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
dsf.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
emcc.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
emcclib.js puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
emccpre.js puzzles: resync with upstream 2019-05-15 18:16:27 -04:00
emccx.json puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
fifteen.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
fifteen.R
filling.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
filling.R
findloop.c puzzles: resync with upstream 2019-05-15 18:16:27 -04:00
flip.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
flip.R
flood.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
flood.R
galaxies.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
galaxies.R
grid.c puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
grid.h puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
gtk.c puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
guess.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
guess.R
inertia.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
inertia.R
keen.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
keen.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
latin.c puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
latin.h puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
laydomino.c
LICENCE puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
lightup.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
lightup.R
loopgen.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
loopgen.h
loopy.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
loopy.R
magnets.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -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: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
map.R
matching.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
matching.h puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
midend.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
mines.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
mines.R
misc.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
mkauto.sh
mkfiles.pl puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
nestedvm.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
net.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
net.R
netslide.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
netslide.R
no-icon.c
noicon.rc
nullfe.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
nullgame.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
nullgame.R
obfusc.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
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 2018-12-21 22:13:33 -05:00
padtoolbar.bmp
palisade.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
palisade.R
pattern.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
pattern.R
pearl.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
pearl.R
pegs.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
pegs.R
penrose.c
penrose.h
printing.c puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
ps.c puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
PuzzleApplet.java puzzles: resync with upstream 2017-09-30 20:06:50 -04:00
puzzles.but puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
puzzles.h puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
puzzles.rc2
random.c
range.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -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: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
rect.R
resource.h
samegame.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
samegame.R
signpost.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
signpost.R
singles.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
singles.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
sixteen.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
sixteen.R
slant.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
slant.R
solo.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
solo.R
sort.c puzzles: resync with upstream 2019-05-15 18:16:27 -04:00
tdq.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
tents.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
tents.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
towers.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
towers.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
tracks.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
tracks.R puzzles: resync with upstream 2020-06-25 18:45:58 +00:00
tree234.c puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
tree234.h puzzles: resync with upstream 2018-12-21 22:13:33 -05:00
twiddle.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
twiddle.R
undead.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
undead.R
unequal.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
unequal.R puzzles: resync with upstream 2018-04-24 19:06:30 -04:00
unruly.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -04:00
unruly.R
untangle.c puzzles: Follow cursor in zoom mode and general code cleanup. 2020-07-06 23:00:13 -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 2018-12-21 22:13:33 -05: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/>.