mirror of
https://github.com/clockworkpi/Menu.git
synced 2026-02-05 14:15:25 +01:00
66 lines
1.7 KiB
Bash
66 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# This script creates PVRTC textures from all of the PNG's.
|
|
# It will upscale to POT if needed and convert the image to 32 bit PNG.
|
|
# It also creates the list of filename's with scaling in scalefactors.txt
|
|
# The resulting TC2 or TC4 files should be copied to data/textures/pvr
|
|
# The scalefactors.txt should be copied to data/textures/pvr
|
|
|
|
powerof2 () {
|
|
# Get the original size of the image
|
|
W=`identify ../$f | cut -f 3 -d " " | sed s/x.*//`
|
|
H=`identify ../$f | cut -f 3 -d " " | sed s/.*x//`
|
|
|
|
# Determine the next power of 2 greater the original image size
|
|
P2W=`convert ../$f -format "%[fx:2^(ceil(log(w)/log(2)))]" info:`
|
|
P2H=`convert ../$f -format "%[fx:2^(ceil(log(h)/log(2)))]" info:`
|
|
if test $P2W -lt 32; then
|
|
P2W=32
|
|
fi
|
|
if test $P2H -lt 32; then
|
|
P2H=32
|
|
fi
|
|
|
|
# Calculate the ratio size increase
|
|
FACTOR_W=$(echo "scale=3; $W/$P2W" | bc -l )
|
|
FACTOR_H=$(echo "scale=3; $H/$P2H" | bc -l )
|
|
|
|
# Remove the file extentsion
|
|
FILENAME=${f%.*}
|
|
|
|
# Display and write the results to file
|
|
echo Width ${FILENAME} ${FACTOR_W} ${W} ${P2W}
|
|
echo Height ${FILENAME} ${FACTOR_H} ${H} ${P2W}
|
|
echo ${FILENAME} ${FACTOR_W} ${FACTOR_H} >> scalefactors.txt
|
|
}
|
|
|
|
rm scalefactors.txt
|
|
rm -rf tc2
|
|
rm -rf tc4
|
|
#rm -rf XRGB1555
|
|
rm -rf ../png32
|
|
|
|
mkdir tc2
|
|
mkdir tc4
|
|
#mkdir XRGB1555
|
|
mkdir ../png32
|
|
|
|
cd ..
|
|
|
|
for f in *.png
|
|
do
|
|
cd pvr
|
|
echo "Processing $f file..."
|
|
|
|
powerof2
|
|
|
|
convert ../$f -background transparent -extent ${P2W}x${P2H} PNG32:../png32/$f.png
|
|
|
|
./PVRTexTool -fPVRTC2 -i../png32/$f.png -o tc2/$f.pvr
|
|
./PVRTexTool -fPVRTC4 -i../png32/$f.png -o tc4/$f.pvr
|
|
# ./PVRTexTool -f1555 -i../png32/$f.png -o XRGB1555/$f.pvr
|
|
# mv XRGB1555/$f.pvr XRGB1555/$f.XRGB1555
|
|
|
|
cd ..
|
|
done
|