summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles/CHECKLST.txt
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2016-11-20 15:16:41 -0500
committerFranklin Wei <me@fwei.tk>2016-12-18 18:13:22 +0100
commit1a6a8b52f7aa4e2da6f4c34a0c743c760b8cfd99 (patch)
tree8e7f2d6b0cbdb5d15c13457b2c3e1de69f598440 /apps/plugins/puzzles/CHECKLST.txt
parent3ee79724f6fb033d50e26ef37b33d3f8cedf0c5b (diff)
downloadrockbox-1a6a8b52f7aa4e2da6f4c34a0c743c760b8cfd99.tar.gz
rockbox-1a6a8b52f7aa4e2da6f4c34a0c743c760b8cfd99.zip
Port of Simon Tatham's Puzzle Collection
Original revision: 5123b1bf68777ffa86e651f178046b26a87cf2d9 MIT Licensed. Some games still crash and others are unplayable due to issues with controls. Still need a "real" polygon filling algorithm. Currently builds one plugin per puzzle (about 40 in total, around 100K each on ARM), but can easily be made to build a single monolithic overlay (800K or so on ARM). The following games are at least partially broken for various reasons, and have been disabled on this commit: Cube: failed assertion with "Icosahedron" setting Keen: input issues Mines: weird stuff happens on target Palisade: input issues Solo: input issues, occasional crash on target Towers: input issues Undead: input issues Unequal: input and drawing issues (concave polys) Untangle: input issues Features left to do: - In-game help system - Figure out the weird bugs Change-Id: I7c69b6860ab115f973c8d76799502e9bb3d52368
Diffstat (limited to 'apps/plugins/puzzles/CHECKLST.txt')
-rw-r--r--apps/plugins/puzzles/CHECKLST.txt70
1 files changed, 70 insertions, 0 deletions
diff --git a/apps/plugins/puzzles/CHECKLST.txt b/apps/plugins/puzzles/CHECKLST.txt
new file mode 100644
index 0000000000..2bef909e14
--- /dev/null
+++ b/apps/plugins/puzzles/CHECKLST.txt
@@ -0,0 +1,70 @@
1Useful checklists
2=================
3
4Things to remember when adding a new puzzle
5-------------------------------------------
6
7Write the source file for the new puzzle (duhh).
8
9Create a .R file for it which:
10 - defines a <puzzle>_EXTRA symbol for it if it requires auxiliary
11 object files (make sure that symbol doesn't contain the icon)
12 - adds it to the `ALL' definition, to ensure it is compiled into
13 the OS X binary
14 - adds it as a GTK build target, with the optional GTK icon
15 - adds it as a Windows build target, with the optional resource
16 file
17 - adds auxiliary solver binaries if any
18 - adds it to $(GAMES) in both the automake and GTK makefiles, for
19 `make install'
20 - adds it to list.c for the OS X binary
21 - adds it to gamedesc.txt, with its Windows executable name, display
22 name, and slightly longer description.
23
24If the puzzle is by a new author, modify the copyright notice in
25LICENCE and in puzzles.but. (Also in index.html, but that's listed
26below under website changes.)
27
28Double-check that the game structure name in the source file has
29been renamed from `nullgame', so that it'll work on OS X. Actually
30compiling it on OS X would be a good way to check this, if
31convenient.
32
33Add a documentation section in puzzles.but.
34
35Make sure there's a Windows help topic name defined in puzzles.but,
36and that it's referenced by the help topic field in the game
37structure in the source file.
38
39Check that REQUIRE_RBUTTON and/or REQUIRE_NUMPAD are set as
40appropriate.
41
42Add the new Unix binary name, and the names of any auxiliary solver
43binaries, to .gitignore.
44
45Write an instructions fragment for the webified puzzle pages, as
46html/<puzzlename>.html .
47
48Make a screenshot:
49 - create an appropriate save file in `icons'
50 - add the puzzle name to icons/Makefile
51 - set up a REDO property in icons/Makefile if the screenshot wants
52 to display a move halfway through an animation
53 - set up a CROP property in icons/Makefile if the icon wants to be
54 a sub-rectangle of the whole screenshot
55
56Don't forget to `git add' the new source file, the new .R file and the
57save file in `icons', the new .html file, and any other new files that
58might have been involved.
59
60Check in!
61
62Put the puzzle on the web:
63 - run puzzlesnap.sh
64 - adjust the copyright in index-mid.html if the puzzle is by a new
65 author
66 - check that the new puzzle has appeared on the staging web page
67 - test both Windows binary links, the docs link, the Javascript
68 version and the Java version
69 - run webupdate
70 - test all those things once more on the live website