1a6a8b52f7
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
37 lines
1.1 KiB
Bash
Executable file
37 lines
1.1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Crop one image into another, after first checking that the source
|
|
# image has the expected size in pixels.
|
|
#
|
|
# This is used in the Puzzles icon build scripts to construct icons
|
|
# which are zoomed in on a particular sub-area of the puzzle's
|
|
# basic screenshot. This way I can define crop areas in pixels,
|
|
# while not having to worry too much that if I adjust the source
|
|
# puzzle so as to alter the layout the crop area might start
|
|
# hitting the wrong bit of picture. Most layout changes I can
|
|
# conveniently imagine will also alter the overall image size, so
|
|
# this script will give a build error and alert me to the fact that
|
|
# I need to fiddle with the icon makefile.
|
|
|
|
infile="$1"
|
|
outfile="$2"
|
|
insize="$3"
|
|
crop="$4"
|
|
|
|
# Special case: if no input size or crop parameter was specified at
|
|
# all, we just copy the input to the output file.
|
|
|
|
if test $# -lt 3; then
|
|
cp "$infile" "$outfile"
|
|
exit 0
|
|
fi
|
|
|
|
# Check the input image size.
|
|
realsize=`identify -format %wx%h "$infile"`
|
|
if test "x$insize" != "x$realsize"; then
|
|
echo "crop.sh: '$infile' has wrong initial size: $realsize != $insize" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# And crop.
|
|
convert -crop "$crop" "$infile" "$outfile"
|