* Improved existing scripts

* Made a global make-all script
* Added missing jsons to cards
This commit is contained in:
2025-08-08 05:09:14 -05:00
parent d4b7828e0d
commit 8f00a867fd
17 changed files with 147 additions and 59 deletions

2
.gitignore vendored
View File

@@ -1,2 +1,2 @@
# Output directory
OUT/
out/

View File

@@ -0,0 +1 @@
{"cyberbeige":{"":{"$IMAGE_FILE":"d1d4a96f7b33227f152b3e9040b238954be5cbf0b9433868c3982a6b0c4a18ba.gif","--usercard-color":"#372e22","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -0,0 +1 @@
{"cyberblue":{"":{"$IMAGE_FILE":"053af7586a16fa7f198ae21b1ded5621786712d468bcdc9494079326087a8e43.gif","--usercard-color":"#000000","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -0,0 +1 @@
{"cybercyan":{"":{"$IMAGE_FILE":"c2eb4acfe68e32e8d7c927b96cd334402d4be95456a35fc2e0ba11dccd14065a.gif","--usercard-color":"#000000","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -0,0 +1 @@
{"cybergreen":{"":{"$IMAGE_FILE":"c03995af9969f198d92e2b213a8a60c65dcfa69d6dec7d9d7a15ae68efe8dcce.gif","--usercard-color":"#000000","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -0,0 +1 @@
{"cyberltblue":{"":{"$IMAGE_FILE":"9682ecbb6caff3a997f6e042db2fdcb0a36a059eb766274213a3fbc7a7661bb5.gif","--usercard-color":"#182952","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -0,0 +1 @@
{"cyberpurple":{"":{"$IMAGE_FILE":"98dd2bf87b357b7192ac5f533b86757092b3105fdda5474c442f3abbe34974f1.gif","--usercard-color":"#000000","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -0,0 +1 @@
{"cyberred":{"":{"$IMAGE_FILE":"568f1f415775c9d5d0e1fa4b51c086601939bc56909780f97c6c4679c795294b.gif","--usercard-color":"#000000","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -0,0 +1 @@
{"cyberyellow":{"":{"$IMAGE_FILE":"f564900df9e99f1f635e2ff8c3e00cd5d3c531f08d42a51877b9992403f3e0a3.gif","--usercard-color":"#000000","--main-text":"#FFFFFF","--usercard-outline":"#000000","background-repeat":"repeat-x"},".tallcard":{"background-position":"bottom"}}}

View File

@@ -1,4 +0,0 @@
../pack-frame.sh win98.png 24 4 4 5
../pack-frame.sh winxp.png 29 3 3 3
../pack-frame.sh win3x.png 23 4 4 4
../pack-frame.sh irix.png 32 8 8 8

79
make-all.sh Executable file
View File

@@ -0,0 +1,79 @@
#!/bin/bash
export TARGET_DIRECTORY=${TARGET_DIRECTORY:-"out"}
smilies=(
'smiley/default'
'smiley/alpha'
'smiley/coinface'
'smiley/aim'
'smiley/crtface'
'smiley/eusasmilies'
'smiley/jcdragons'
'smiley/msn'
'smiley/onion'
'smiley/phpbbb'
'smiley/phpbby'
'smiley/pyong'
'smiley/ultleob'
'smiley/ultleog'
'smiley/ultleor'
'smiley/ultleow'
'smiley/ultleoy'
'smiley/windows98'
'smiley/xat'
)
frames=(
'frame/win98.png 24 4 4 5'
'frame/winxp.png 29 3 3 3'
'frame/win98.png 23 4 4 4'
'frame/irix.png 32 8 8 8'
'frame/gem-amethyst.png 8'
'frame/gem-diamond.png 8'
'frame/gem-emerald.png 8'
'frame/gem-ruby.png 8'
'frame/gem-sapphire.png 8'
'frame/ore-bronze.png 8'
'frame/ore-coloromus.png 8'
'frame/ore-gold.png 8'
'frame/ore-silver.png 8'
'frame/ore-moonstone.png 8'
)
cards=(
'card/firenevit.gif -'
'card/worlioblue.png -'
'card/warpspeed.gif -'
'card/nyanstars.gif -'
'card/water.gif -'
'card/juststeel.png -'
'card/ranga.png -'
'card/win3x/arcade.gif #008080 - #008080'
'card/win3x/argyle.gif #000080 #ffffff #000080'
'card/win3x/castle.gif #c0c0c0 - #c0c0c0'
'card/win3x/egypt.gif #808000 - #808080'
'card/win3x/honey.gif #808000 - #ffff00'
'card/win3x/redbrick.gif #800000 #ffffff #000000'
'card/win3x/rivets.gif #008080 - #008080'
'card/win3x/squares.gif #800080 - $800080'
'card/win3x/thatch.gif #ffffff - #ffffff'
'card/win3x/zigzag.gif #008080 #ffffff #008080'
'card/gridplane/cyberbeige.gif -'
'card/gridplane/cyberblue.gif -'
'card/gridplane/cybercyan.gif -'
'card/gridplane/cybergreen.gif -'
'card/gridplane/cyberltblue.gif -'
'card/gridplane/cyberred.gif -'
'card/gridplane/cyberpurple.gif -'
'card/gridplane/cyberyellow.gif -'
)
echo "== PACKING SMILIES =="
for smiley in "${smilies[@]}"; do
sh make-smiley.sh $smiley
done
echo "== PACKING FRAMES =="
for frame in "${frames[@]}"; do
sh make-frame.sh $frame
done
echo "== PACKING CARDS =="
for card in "${cards[@]}"; do
sh make-card.sh $card
done

25
make-card.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/sh
TARGET_DIRECTORY=${TARGET_DIRECTORY?-out}
INPUT=$1
_BASEDIR=`basename $INPUT`
PACK=${_BASEDIR%.*}
OUTNAME="$(sha256sum "$1" | awk '{ print $1 }').${1##*.}"
cp "$INPUT" "$TARGET_DIRECTORY/$OUTNAME"
echo "Writing card '$PACK'..."
if [[ $2 == '-' && -z $3 ]]; then
cp "${INPUT%.*}.json" "$TARGET_DIRECTORY/$PACK.json"
exit;
fi
printf "{\"$PACK\":{" > "$TARGET_DIRECTORY/$PACK.json"
printf "\"\":{" >> "$TARGET_DIRECTORY/$PACK.json"
printf "\"--usercard-image\":\"$OUTNAME\"" >> "$TARGET_DIRECTORY/$PACK.json"
if [ ! -z $2 ]; then
[ $2 != '-' ] && printf ",\"--usercard-color\":\"$2\"" >> "$TARGET_DIRECTORY/$PACK.json"
if [ ! -z $3 ]; then
[ $3 != '-' ] && printf ",\"--main-text\":\"$3\"" >> "$TARGET_DIRECTORY/$PACK.json"
if [ ! -z $4 ]; then
printf ",\"--usercard-outline\":\"$4\"" >> "$TARGET_DIRECTORY/$PACK.json"
fi
fi
fi
printf "}}}" >> "$TARGET_DIRECTORY/$PACK.json"

18
make-frame.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/sh
TARGET_DIRECTORY=${TARGET_DIRECTORY?-out}
INPUT=$1
_BASEDIR=`basename $INPUT`
PACK=${_BASEDIR%.*}
printf "{\"$PACK\":{" > "$TARGET_DIRECTORY/$PACK.json"
OUTNAME="$(sha256sum "$1" | awk '{ print $1 }').${1##*.}"
cp "$1" "$TARGET_DIRECTORY/$OUTNAME"
echo "Writing frame '$PACK'..."
printf "\"frame\":\"$OUTNAME\"," >> "$TARGET_DIRECTORY/$PACK.json"
if [ ! -z $5 ]; then
printf "\"size\":[$2,$3,$4,$5]" >> "$TARGET_DIRECTORY/$PACK.json"
elif [ ! -z $3 ]; then
printf "\"size\":[$2,$3]" >> "$TARGET_DIRECTORY/$PACK.json"
else
printf "\"size\":[$2]" >> "$TARGET_DIRECTORY/$PACK.json"
fi
printf "}}" >> "$TARGET_DIRECTORY/$PACK.json"

16
make-smiley.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
TARGET_DIRECTORY=${TARGET_DIRECTORY?-out}
INPUT=$1
PACK=`basename $INPUT`
mkdir -p "$TARGET_DIRECTORY"
printf "{\"$PACK\":{" > "$TARGET_DIRECTORY/$PACK.json"
shopt -s nullglob
for i in $INPUT/*.png $INPUT/*.jpg $INPUT/*.gif $INPUT/*.svg; do
FILE="$(basename "${i%.*}")"
OUTNAME="$(sha256sum "$i" | awk '{ print $1 }').${i##*.}"
cp "$i" "$TARGET_DIRECTORY/$OUTNAME"
echo "Writing smiley '$PACK/$FILE'..."
printf "\"$FILE\":\"$OUTNAME\"," >> "$TARGET_DIRECTORY/$PACK.json"
done
sed -i '$ s/.$//' "$TARGET_DIRECTORY/$PACK.json"
printf "}}" >> "$TARGET_DIRECTORY/$PACK.json"

View File

@@ -1,19 +0,0 @@
#!/bin/sh
PACKNAME=${1%.*}
OUTDIR="../OUT"
mkdir -p "$OUTDIR/assets"
printf "{\"$PACKNAME\":{" > "$OUTDIR/$PACKNAME.json"
printf "\"\":{" >> "$OUTDIR/$PACKNAME.json"
OUTNAME="$(sha256sum "$1" | awk '{ print $1 }').${1##*.}"
# _IMAGE_FILE = --usercard-image css var
printf "\"\$IMAGE_FILE\":\"$OUTNAME\"" >> "$OUTDIR/$PACKNAME.json"
if [ ! -z $2 ]; then
printf ",\"--usercard-color\":\"$2\"" >> "$OUTDIR/$PACKNAME.json"
if [ ! -z $3 ]; then
printf ",\"--main-text\":\"$3\"" >> "$OUTDIR/$PACKNAME.json"
if [ ! -z $4 ]; then
printf ",\"--usercard-outline\":\"$4\"" >> "$OUTDIR/$PACKNAME.json"
fi
fi
fi
printf "}}}" >> "$OUTDIR/$PACKNAME.json"

View File

@@ -1,19 +0,0 @@
#!/bin/sh
PACKNAME=${1%.*}
OUTDIR="../OUT"
mkdir -p "$OUTDIR/assets"
printf "{\"$PACKNAME\":{" > "$OUTDIR/$PACKNAME.json"
OUTNAME="$(sha256sum "$1" | awk '{ print $1 }').${1##*.}"
printf "\"frame\":\"$OUTNAME\"," >> "$OUTDIR/$PACKNAME.json"
cp $1 "$OUTDIR/assets/$OUTNAME"
if [ ! -z $5 ]; then
printf "\"size\":[$2,$3,$4,$5]" >> "$OUTDIR/$PACKNAME.json"
elif [ ! -z $3 ]; then
printf "\"size\":[$2,$3]" >> "$OUTDIR/$PACKNAME.json"
else
printf "\"size\":[$2]" >> "$OUTDIR/$PACKNAME.json"
fi
printf "}}" >> "$OUTDIR/$PACKNAME.json"
if [ $RECORD ]; then
printf "../pack-frame.sh $*\n" >> "$OUTDIR/frames.sh"
fi

View File

@@ -1,16 +0,0 @@
#!/bin/sh
PACKNAME=$1
OUTDIR="../OUT"
mkdir -p "$OUTDIR/assets"
printf "{\"$PACKNAME\":{" > "$OUTDIR/$PACKNAME.json"
shopt -s nullglob
for i in "$PACKNAME"/*.png "$PACKNAME"/*.jpg "$PACKNAME"/*.gif "$PACKNAME"/*.svg;
do
FILE="$(basename "${i%.*}")"
OUTNAME="$(sha256sum "$i" | awk '{ print $1 }').${i##*.}"
cp $i "$OUTDIR/assets/$OUTNAME"
echo "Writing '$FILE' to pack json."
printf "\"$FILE\":\"$OUTNAME\"," >> "$OUTDIR/$PACKNAME.json"
done
sed -i '$ s/.$//' "$OUTDIR/$PACKNAME.json"
printf "}}" >> "$OUTDIR/$PACKNAME.json"