diff options
author | Franklin Wei <frankhwei536@gmail.com> | 2016-11-20 15:16:41 -0500 |
---|---|---|
committer | Franklin Wei <me@fwei.tk> | 2016-12-18 18:13:22 +0100 |
commit | 1a6a8b52f7aa4e2da6f4c34a0c743c760b8cfd99 (patch) | |
tree | 8e7f2d6b0cbdb5d15c13457b2c3e1de69f598440 /apps/plugins/puzzles/icons/crop.sh | |
parent | 3ee79724f6fb033d50e26ef37b33d3f8cedf0c5b (diff) | |
download | rockbox-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/icons/crop.sh')
-rwxr-xr-x | apps/plugins/puzzles/icons/crop.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/apps/plugins/puzzles/icons/crop.sh b/apps/plugins/puzzles/icons/crop.sh new file mode 100755 index 0000000000..0d15d3c9b9 --- /dev/null +++ b/apps/plugins/puzzles/icons/crop.sh | |||
@@ -0,0 +1,37 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # Crop one image into another, after first checking that the source | ||
4 | # image has the expected size in pixels. | ||
5 | # | ||
6 | # This is used in the Puzzles icon build scripts to construct icons | ||
7 | # which are zoomed in on a particular sub-area of the puzzle's | ||
8 | # basic screenshot. This way I can define crop areas in pixels, | ||
9 | # while not having to worry too much that if I adjust the source | ||
10 | # puzzle so as to alter the layout the crop area might start | ||
11 | # hitting the wrong bit of picture. Most layout changes I can | ||
12 | # conveniently imagine will also alter the overall image size, so | ||
13 | # this script will give a build error and alert me to the fact that | ||
14 | # I need to fiddle with the icon makefile. | ||
15 | |||
16 | infile="$1" | ||
17 | outfile="$2" | ||
18 | insize="$3" | ||
19 | crop="$4" | ||
20 | |||
21 | # Special case: if no input size or crop parameter was specified at | ||
22 | # all, we just copy the input to the output file. | ||
23 | |||
24 | if test $# -lt 3; then | ||
25 | cp "$infile" "$outfile" | ||
26 | exit 0 | ||
27 | fi | ||
28 | |||
29 | # Check the input image size. | ||
30 | realsize=`identify -format %wx%h "$infile"` | ||
31 | if test "x$insize" != "x$realsize"; then | ||
32 | echo "crop.sh: '$infile' has wrong initial size: $realsize != $insize" >&2 | ||
33 | exit 1 | ||
34 | fi | ||
35 | |||
36 | # And crop. | ||
37 | convert -crop "$crop" "$infile" "$outfile" | ||