209 lines
4.8 KiB
Bash
Executable File
209 lines
4.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#!/bin/bash
|
|
|
|
readonly USAGE="
|
|
USAGE:
|
|
$(basename "$0") [BUILD or SCRAP] [PATH] [SYSTEM]"
|
|
|
|
function help_message() {
|
|
echo "$USAGE"
|
|
echo
|
|
echo "Where [SYSTEM] are:"
|
|
for WORD in $SYSTEMS; do
|
|
echo -e "\t$WORD"
|
|
done
|
|
}
|
|
|
|
SYSTEMS="apple2 arcade atari2600 atari7800 atarilynx coleco gamegear gb gba gbc mastersystem megadrive msx n64 nes ngpc pcengine sega32x sg1000 snes vectrex virtualboy wonderswan wonderswancolor"
|
|
|
|
# check if there are all the parameters
|
|
if [ "$#" -ne 3 ]; then
|
|
help_message
|
|
exit 0
|
|
fi
|
|
|
|
# check if the systems parameter is valid
|
|
if ! echo "$SYSTEMS" | grep -w "$3" >/dev/null; then
|
|
printf "%s\n" "You must enter a valid SYSTEM name."
|
|
help_message
|
|
exit 0
|
|
fi
|
|
|
|
# variables
|
|
readonly COLOR_BLACK=$(tput setaf 0)
|
|
readonly COLOR_RED=$(tput setaf 1)
|
|
readonly COLOR_GREEN=$(tput setaf 2)
|
|
readonly COLOR_YELLOW=$(tput setaf 3)
|
|
readonly COLOR_BLUE=$(tput setaf 4)
|
|
readonly COLOR_MAGENTA=$(tput setaf 5)
|
|
readonly COLOR_CYAN=$(tput setaf 6)
|
|
readonly COLOR_WHITE=$(tput setaf 7)
|
|
readonly COLOR_BACKGROUND_BLACK=$(tput setab 0)
|
|
readonly COLOR_BACKGROUND_RED=$(tput setab 1)
|
|
readonly COLOR_BACKGROUND_GREEN=$(tput setab 2)
|
|
readonly COLOR_BACKGROUND_YELLOW=$(tput setab 3)
|
|
readonly COLOR_BACKGROUND_BLUE=$(tput setab 4)
|
|
readonly COLOR_BACKGROUND_MAGENTA=$(tput setab 5)
|
|
readonly COLOR_BACKGROUND_CYAN=$(tput setab 6)
|
|
readonly COLOR_BACKGROUND_WHITE=$(tput setab 7)
|
|
readonly RESET_COLOR=$(tput sgr0)
|
|
|
|
readonly SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
readonly ROM_DIR="$2"
|
|
readonly SYSTEM="$3"
|
|
readonly CONSOLE_ART=artwork.xml.screenshot
|
|
readonly CONSOLECD_ART=artwork.xml.cover
|
|
readonly ARCADE_ART=artwork.xml.wheel
|
|
readonly CONSOLE_SCRAPERS="screenscrapER mobygames thegamesdb"
|
|
readonly ARCADE_SCRAPERS="screenacraper arcadedb"
|
|
readonly SCRAP=true
|
|
readonly BUILD=true
|
|
|
|
if [ "$1" = SCRAP ]; then
|
|
BUILD=false
|
|
printf "%s\n" "${WHITE_COLOR}${RED_BACKGROUND_COLOR}## SCRAP ONLY ${RESET_COLOR}"
|
|
sleep 1
|
|
fi
|
|
|
|
if [ "$1" = BUILD ]; then
|
|
SCRAP=false
|
|
printf "%s\n" "${WHITE_COLOR}${RED_BACKGROUND_COLOR}## BUILD ONLY ${RESET_COLOR}"
|
|
sleep 1
|
|
fi
|
|
|
|
## CONSOLE
|
|
CONSOLE="atari2600 atarilynx fds gamegear gb gba gbc mastersystem megadrive msx nes ngp ngpc pcengine sega32x snes wonderswan wonderswancolor"
|
|
# atari2600 atarilynx fds gamegear gb gba gbc mastersystem megadrive msx nes ngp ngpc pcengine sega32x snes wonderswan wonderswancolor
|
|
|
|
for SYSTEM in $CONSOLE; do
|
|
if [ "$SCRAP" = true ]; then
|
|
for SCRAPER in $CONSOLE_SCRAPERS; do
|
|
Skyscraper --flags videos,unattend,noresize,unpack -p "${SYSTEM}" -s "${SCRAPER}"
|
|
done
|
|
fi
|
|
if [ "$BUILD" = true ]; then
|
|
Skyscraper --flags videos,unattend,forcefilename,relative,skipexistingvideos -a $CONSOLE_ART -p "$SYSTEM"
|
|
#Skyscraper --flags videos,unattend,relative,skipexistingvideos -a $CONSOLE_ART -p $i
|
|
fi
|
|
done
|
|
|
|
## CONSOLE CD
|
|
CONSOLECD="pcengine psx segacd"
|
|
# pcengine segacd psx saturn
|
|
mv -v "${ROM_DIR}"/pcengine "${ROM_DIR}"/pcengine.cart
|
|
mv -v "${ROM_DIR}"/pcenginecd "${ROM_DIR}"/pcengine
|
|
|
|
for SYSTEM in $CONSOLECD; do
|
|
if [ "$SCRAP" = true ]; then
|
|
for SCRAPER in $CONSOLE_SCRAPERS; do
|
|
Skyscraper --flags videos,unattend,noresize -p "$SYSTEM" -s "$SCRAPER"
|
|
done
|
|
fi
|
|
if [ "$BUILD" = true ]; then
|
|
Skyscraper --flags videos,unattend,forcefilename,relative,skipexistingvideos,nobrackets -a $CONSOLECD_ART -p "$SYSTEM"
|
|
fi
|
|
done
|
|
|
|
mv -v "${ROM_DIR}"/pcengine "${ROM_DIR}"/pcenginecd
|
|
mv -v "${ROM_DIR}"/pcengine.cart "${ROM_DIR}"/pcengine
|
|
|
|
## ARCADE
|
|
arcade="fba neogeo mame-advmame mame-mame4all"
|
|
# fba neogeo mame-advmame mame-mame4all
|
|
for SYSTEM in $arcade; do
|
|
if [ "$SCRAP" = true ]; then
|
|
for SCRAPper in $ARCADE_SCRAPERS; do
|
|
Skyscraper --flags videos,unattend,noresize -p "$SYSTEM" -s "$SCRAPper"
|
|
done
|
|
fi
|
|
if [ "$BUILD" = true ]; then
|
|
Skyscraper --flags videos,unattend,relative,skipexistingvideos,nobrackets -a $ARCADE_ART -p "$SYSTEM"
|
|
fi
|
|
done
|
|
|
|
## Available artworks
|
|
# artwork.xml.screenshot
|
|
# artwork.xml.cover
|
|
# artwork.xml.wheel
|
|
# artwork.xml.example1
|
|
|
|
## Available platforms:
|
|
# 3do
|
|
# 3ds
|
|
# amiga
|
|
# amstradcpc
|
|
# apple2
|
|
# arcade
|
|
# arcadia
|
|
# astrocde
|
|
# atari800
|
|
# atari2600
|
|
# atari5200
|
|
# atari7800
|
|
# atarijaguar
|
|
# atarilynx
|
|
# atarist
|
|
# c16
|
|
# c64
|
|
# c128
|
|
# coco
|
|
# coleco
|
|
# daphne
|
|
# dragon32
|
|
# dreamcast
|
|
# fba
|
|
# fds
|
|
# gameandwatch
|
|
# gamegear
|
|
# gb
|
|
# gba
|
|
# gbc
|
|
# gc
|
|
# genesis
|
|
# intellivision
|
|
# mame-advmame
|
|
# mame-libretro
|
|
# mame-mame4all
|
|
# mastersystem
|
|
# megacd
|
|
# megadrive
|
|
# msx
|
|
# n64
|
|
# nds
|
|
# neogeo
|
|
# nes
|
|
# ngp
|
|
# ngpc
|
|
# oric
|
|
# pc
|
|
# pc88
|
|
# pc98
|
|
# pcfx
|
|
# pcengine
|
|
# pokemini
|
|
# ports
|
|
# ps2
|
|
# psp
|
|
# psx
|
|
# saturn
|
|
# scummvm
|
|
# sega32x
|
|
# segacd
|
|
# sg-1000
|
|
# snes
|
|
# steam
|
|
# ti99
|
|
# trs-80
|
|
# vectrex
|
|
# vic20
|
|
# videopac
|
|
# virtualboy
|
|
# wii
|
|
# wonderswan
|
|
# wonderswancolor
|
|
# x68000
|
|
# x1
|
|
# zmachine
|
|
# zx81
|
|
# zxspectrum |