50 lines
1.0 KiB
Bash
50 lines
1.0 KiB
Bash
|
#!/bin/sh
|
||
|
#
|
||
|
# (C) 2013 Lauri Kasanen, under the GPLv3
|
||
|
#
|
||
|
# Script to optimize the data, currently PNG, JPEG, B3DZ.
|
||
|
# Run it before making a release, and after adding new data.
|
||
|
# Takes 5-10min depending on your cpu.
|
||
|
|
||
|
# Spaces in filenames are supported.
|
||
|
|
||
|
# Start checks
|
||
|
|
||
|
fail=0
|
||
|
which awk >/dev/null && which jpegtran >/dev/null && which advdef >/dev/null && \
|
||
|
which advzip >/dev/null || fail=1
|
||
|
|
||
|
[ "$fail" -eq 1 ] && echo "Please install awk, advdef and jpegtran" && exit 1
|
||
|
|
||
|
# Defines
|
||
|
|
||
|
IFS="
|
||
|
"
|
||
|
|
||
|
export LANG=C
|
||
|
|
||
|
# Go
|
||
|
|
||
|
BEFORE=`du -sk | awk '{print $1}'`
|
||
|
|
||
|
for png in `find -name "*.png"`; do
|
||
|
advdef -z4 "$png"
|
||
|
done
|
||
|
|
||
|
for jpeg in `find -name "*.jpg"`; do
|
||
|
jpegtran -optimize -copy none -outfile "$jpeg".$$ "$jpeg"
|
||
|
mv "$jpeg".$$ "$jpeg"
|
||
|
done
|
||
|
|
||
|
for b3dz in `find -name "*.b3dz"`; do
|
||
|
advzip -z4 "$b3dz"
|
||
|
done
|
||
|
|
||
|
# Add optimizations for other types if necessary
|
||
|
|
||
|
AFTER=`du -sk | awk '{print $1}'`
|
||
|
|
||
|
# Print stats out
|
||
|
echo $BEFORE $AFTER | awk '{print "Before: " $1/1024 "mb, after: " $2/1024 "mb" }'
|
||
|
echo $BEFORE $AFTER | awk '{print "Saved " (1-($2/$1)) * 100 "%" }'
|