Add board game sheet cropping scripts
This commit is contained in:
parent
cf53fad0a4
commit
bda9c8c552
2 changed files with 113 additions and 0 deletions
78
scripts/crop-all-sheets.sh
Executable file
78
scripts/crop-all-sheets.sh
Executable file
|
|
@ -0,0 +1,78 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
CROP="scripts/crop-sheet.sh"
|
||||
CARD_W=744
|
||||
CARD_H=1039
|
||||
SMALL_W=525
|
||||
SMALL_H=750
|
||||
|
||||
total=0
|
||||
|
||||
run_crop() {
|
||||
local label="$1"
|
||||
local src="$2"
|
||||
local outdir="$3"
|
||||
local w="$4"
|
||||
local h="$5"
|
||||
|
||||
[[ -f "$src" ]] || { echo "SKIP: $src not found"; return; }
|
||||
|
||||
mkdir -p "$outdir"
|
||||
count=$("$CROP" "$src" "$w" "$h" "$outdir")
|
||||
echo "$label: $count"
|
||||
total=$(( total + count ))
|
||||
}
|
||||
|
||||
# card size sheets
|
||||
run_crop "Cards_Ironclad" StS_BG_assets/Cards_Ironclad.png assets/images/board_game/cards/ironclad $CARD_W $CARD_H
|
||||
run_crop "Cards_Ironclad_Upgrade" StS_BG_assets/Cards_Ironclad_Upgrade.png assets/images/board_game/cards/ironclad_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Ironclad_Rare" StS_BG_assets/Cards_Ironclad_Rare.png assets/images/board_game/cards/ironclad_rare $CARD_W $CARD_H
|
||||
run_crop "Cards_Ironclad_Rare_Upgraded" StS_BG_assets/Cards_Ironclad_Rare_Upgraded.png assets/images/board_game/cards/ironclad_rare_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Ironclad_Start" StS_BG_assets/Cards_Ironclad_Start.png assets/images/board_game/cards/ironclad_starter $CARD_W $CARD_H
|
||||
run_crop "Cards_Ironclad_Start_Upgraded" StS_BG_assets/Cards_Ironclad_Start_Upgraded.png assets/images/board_game/cards/ironclad_starter_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Silent" StS_BG_assets/Cards_Silent.png assets/images/board_game/cards/silent $CARD_W $CARD_H
|
||||
run_crop "Cards_Silent_Upgraded" StS_BG_assets/Cards_Silent_Upgraded.png assets/images/board_game/cards/silent_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Silent_Rare" StS_BG_assets/Cards_Silent_Rare.png assets/images/board_game/cards/silent_rare $CARD_W $CARD_H
|
||||
run_crop "Cards_Silent_Rare_Upgraded" StS_BG_assets/Cards_Silent_Rare_Upgraded.png assets/images/board_game/cards/silent_rare_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Silent_Start" StS_BG_assets/Cards_Silent_Start.png assets/images/board_game/cards/silent_starter $CARD_W $CARD_H
|
||||
run_crop "Cards_Silent_Start_Upgraded" StS_BG_assets/Cards_Silent_Start_Upgraded.png assets/images/board_game/cards/silent_starter_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Defect" StS_BG_assets/Cards_Defect.png assets/images/board_game/cards/defect $CARD_W $CARD_H
|
||||
run_crop "Cards_Defect_Upgraded" StS_BG_assets/Cards_Defect_Upgraded.png assets/images/board_game/cards/defect_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Defect_Rare" StS_BG_assets/Cards_Defect_Rare.png assets/images/board_game/cards/defect_rare $CARD_W $CARD_H
|
||||
run_crop "Cards_Defect_Rare_Upgraded" StS_BG_assets/Cards_Defect_Rare_Upgraded.png assets/images/board_game/cards/defect_rare_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Defect_Start" StS_BG_assets/Cards_Defect_Start.png assets/images/board_game/cards/defect_starter $CARD_W $CARD_H
|
||||
run_crop "Cards_Defect_Start_Upgraded" StS_BG_assets/Cards_Defect_Start_Upgraded.png assets/images/board_game/cards/defect_starter_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Watcher" StS_BG_assets/Cards_Watcher.png assets/images/board_game/cards/watcher $CARD_W $CARD_H
|
||||
run_crop "Cards_Watcher_Upgraded" StS_BG_assets/Cards_Watcher_Upgraded.png assets/images/board_game/cards/watcher_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Watcher_Rare" StS_BG_assets/Cards_Watcher_Rare.png assets/images/board_game/cards/watcher_rare $CARD_W $CARD_H
|
||||
run_crop "Cards_Watcher_Rare_Upgraded" StS_BG_assets/Cards_Watcher_Rare_Upgraded.png assets/images/board_game/cards/watcher_rare_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Watcher_Start" StS_BG_assets/Cards_Watcher_Start.png assets/images/board_game/cards/watcher_starter $CARD_W $CARD_H
|
||||
run_crop "Cards_Watcher_Start_Upgraded" StS_BG_assets/Cards_Watcher_Start_Upgraded.png assets/images/board_game/cards/watcher_starter_upgraded $CARD_W $CARD_H
|
||||
run_crop "Cards_Colorless" StS_BG_assets/Cards_Colorless.png assets/images/board_game/cards/colorless $CARD_W $CARD_H
|
||||
run_crop "Cards_Colorless_Upgraded" StS_BG_assets/Cards_Colorless_Upgraded.png assets/images/board_game/cards/colorless_upgraded $CARD_W $CARD_H
|
||||
run_crop "Curse" StS_BG_assets/Curse.png assets/images/board_game/cards/curses $CARD_W $CARD_H
|
||||
run_crop "Curse_A5" StS_BG_assets/Curse_A5.png assets/images/board_game/cards/curses_a5 $CARD_W $CARD_H
|
||||
run_crop "Enemies_Act1" StS_BG_assets/Enemies_Act1.png assets/images/board_game/enemies/act1 $CARD_W $CARD_H
|
||||
run_crop "Enemies_Act2" StS_BG_assets/Enemies_Act2.png assets/images/board_game/enemies/act2 $CARD_W $CARD_H
|
||||
run_crop "Enemies_Act3" StS_BG_assets/Enemies_Act3.png assets/images/board_game/enemies/act3 $CARD_W $CARD_H
|
||||
run_crop "Elites_Act1" StS_BG_assets/Elites_Act1.png assets/images/board_game/elites/act1 $CARD_W $CARD_H
|
||||
run_crop "Elites_Act2" StS_BG_assets/Elites_Act2.png assets/images/board_game/elites/act2 $CARD_W $CARD_H
|
||||
run_crop "Elites_Act3" StS_BG_assets/Elites_Act3.png assets/images/board_game/elites/act3 $CARD_W $CARD_H
|
||||
run_crop "Summons_Act1" StS_BG_assets/Summons_Act1.png assets/images/board_game/summons/act1 $CARD_W $CARD_H
|
||||
run_crop "Summons_Act2" StS_BG_assets/Summons_Act2.png assets/images/board_game/summons/act2 $CARD_W $CARD_H
|
||||
run_crop "Summons_Act3" StS_BG_assets/Summons_Act3.png assets/images/board_game/summons/act3 $CARD_W $CARD_H
|
||||
run_crop "Events" StS_BG_assets/Events.png assets/images/board_game/events/general $CARD_W $CARD_H
|
||||
run_crop "Events_Act1" StS_BG_assets/Events_Act1.png assets/images/board_game/events/act1 $CARD_W $CARD_H
|
||||
run_crop "Events_Act2" StS_BG_assets/Events_Act2.png assets/images/board_game/events/act2 $CARD_W $CARD_H
|
||||
run_crop "Events_Act3" StS_BG_assets/Events_Act3.png assets/images/board_game/events/act3 $CARD_W $CARD_H
|
||||
run_crop "Neows_Blessing" StS_BG_assets/Neows_Blessing.png assets/images/board_game/events/neows_blessing $CARD_W $CARD_H
|
||||
|
||||
# small size sheets
|
||||
run_crop "Relics_Common" StS_BG_assets/Relics_Common.png assets/images/board_game/relics/common $SMALL_W $SMALL_H
|
||||
run_crop "Relics_Boss" StS_BG_assets/Relics_Boss.png assets/images/board_game/relics/boss $SMALL_W $SMALL_H
|
||||
run_crop "Potions" StS_BG_assets/Potions.png assets/images/board_game/potions $SMALL_W $SMALL_H
|
||||
|
||||
echo "total: $total"
|
||||
35
scripts/crop-sheet.sh
Executable file
35
scripts/crop-sheet.sh
Executable file
|
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 4 ]]; then
|
||||
echo "usage: crop-sheet.sh <input> <width> <height> <outdir>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
input="$1"
|
||||
width="$2"
|
||||
height="$3"
|
||||
outdir="$4"
|
||||
|
||||
mkdir -p "$outdir"
|
||||
rm -f "${outdir}"/*.png
|
||||
|
||||
magick "$input" -crop "${width}x${height}" +repage "${outdir}/%03d.png"
|
||||
|
||||
count=0
|
||||
for file in "${outdir}"/*.png; do
|
||||
[[ -f "$file" ]] || continue
|
||||
dims=$(magick "$file" -format "%wx%h" info:)
|
||||
if [[ "$dims" != "${width}x${height}" ]]; then
|
||||
rm "$file"
|
||||
continue
|
||||
fi
|
||||
mean=$(magick "$file" -format "%[mean]" info:)
|
||||
if [[ "$mean" == "0" ]]; then
|
||||
rm "$file"
|
||||
else
|
||||
(( ++count ))
|
||||
fi
|
||||
done
|
||||
|
||||
echo "$count"
|
||||
Loading…
Reference in a new issue