Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save SpiritCroc/4f5d6318f61fc21760b750928c8a2ad6 to your computer and use it in GitHub Desktop.
Save SpiritCroc/4f5d6318f61fc21760b750928c8a2ad6 to your computer and use it in GitHub Desktop.
#!/bin/sh
# Tool to create android bootanimations from an original ("raw") resolution to others
# that are specified by an existing folder named after the resolution
# (e.g. "1600" for 1600x1600)
# Only square images supported right now
raw="3200"
log_level=1
for res in *; do
if [ -d "$res" ]; then
if [ "$res" != "$raw" ]; then
if [ "$log_level" -ge 2 ]; then
echo "Resolution: $res"
fi
# Don't use old files, but update with those from original resolution
rm -r "$res"
cp -r "$raw"/ "$res"
# Adapt resolution from desc.txt
cp "$res/desc.txt" tmp.txt
sed "s/$raw/$res/g" tmp.txt > "$res/desc.txt"
rm tmp.txt
rm -f "$res".zip
cd "$res"
zip -0 -q ../"$res".zip "desc.txt"
# Resize images
for part in *; do
if [ -d "$part" ]; then
if [ "$log_level" -ge 2 ]; then
echo "Part $part"
fi
cd "$part"
for file in *; do
if [ "$log_level" -ge 1 ]; then
echo "Resize $file to $res"
fi
mogrify -resize "$res"X"$res" "$file"
done
cd ..
zip -r -0 -q ../"$res".zip "$part"
fi
done
cd ..
else
# Original resolution: only zipping required
if [ "$log_level" -ge 2 ]; then
echo "Resolution: $res"
fi
rm -f "$res".zip
cd "$res"
zip -0 -q ../"$res".zip "desc.txt"
for part in *; do
if [ -d "$part" ]; then
zip -r -0 -q ../"$res".zip "$part"
fi
done
cd ..
fi
fi
done
#Clean up part
read -p "Enter to clean up" var
for file in *; do
if [ -d "$file" ]; then
if [ "$file" != "$raw" ]; then
echo "Remove content for resolution: $file"
rm -r "$file"
mkdir "$file"
fi
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment