diff --git a/skyscraper.sh b/skyscraper.sh index b176cdf..1426a08 100755 --- a/skyscraper.sh +++ b/skyscraper.sh @@ -1,10 +1,7 @@ #!/bin/bash - -#!/bin/bash - readonly USAGE=" USAGE: -$(basename "$0") [BUILD or SCRAP] [PATH] [SYSTEM]" +$(basename "$0") [BUILD or SCRAP] [PATH]" function help_message() { echo "$USAGE" @@ -18,40 +15,32 @@ function help_message() { 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." +if [ "$#" -ne 2 ]; then 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_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_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 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 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 @@ -62,13 +51,13 @@ readonly BUILD=true if [ "$1" = SCRAP ]; then BUILD=false - printf "%s\n" "${WHITE_COLOR}${RED_BACKGROUND_COLOR}## SCRAP ONLY ${RESET_COLOR}" + printf "%s\n" "${COLOR_WHITE}${COLOR_BACKGROUND_RED}## 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}" + printf "%s\n" "${COLOR_WHITE}${COLOR_BACKGROUND_RED}## BUILD ONLY ${RESET_COLOR}" sleep 1 fi diff --git a/skyscraper_system.sh b/skyscraper_system.sh new file mode 100755 index 0000000..d4952fb --- /dev/null +++ b/skyscraper_system.sh @@ -0,0 +1,130 @@ +#!/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_NAME="$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 CONSOLE="atari2600 atarilynx fds gamegear gb gba gbc mastersystem megadrive msx nes ngp ngpc pcengine sega32x snes wonderswan wonderswancolor" +readonly CONSOLECD="psx segacd" +readonly ARCADE="fba neogeo mame-advmame mame-mame4all" + +readonly SCRAP=true +readonly BUILD=true + +if [ "$1" = SCRAP ]; then + BUILD=false + printf "%s\n" "${COLOR_WHITE}${COLOR_BACKGROUND_RED}## SCRAP ONLY ${RESET_COLOR}" + sleep 1 +fi + +if [ "$1" = BUILD ]; then + SCRAP=false + printf "%s\n" "${COLOR_WHITE}${COLOR_BACKGROUND_RED}## BUILD ONLY ${RESET_COLOR}" + sleep 1 +fi + +if echo "${CONSOLE}" | grep -w "${SYSTEM_NAME}" >/dev/null; then + if [ "${SCRAP}" = true ]; then + for SCRAPER in ${CONSOLE_SCRAPERS}; do + Skyscraper --flags videos,unattend,noresize,unpack -p "${SYSTEM_NAME}" -s "${SCRAPER}" + done + fi + if [ "${BUILD}" = true ]; then + Skyscraper --flags videos,unattend,forcefilename,relative,skipexistingvideos -a $CONSOLE_ART -p "${SYSTEM_NAME}" + #Skyscraper --flags videos,unattend,relative,skipexistingvideos -a $CONSOLE_ART -p $i + fi + exit 0 +fi + +if echo "${CONSOLECD}" | grep -w "${SYSTEM_NAME}" >/dev/null; then + if [ "${SCRAP}" = true ]; then + for SCRAPER in ${CONSOLE_SCRAPERS}; do + Skyscraper --flags videos,unattend,noresize -p "${SYSTEM_NAME}" -s "${SCRAPER}" + done + fi + if [ "${BUILD}" = true ]; then + Skyscraper --flags videos,unattend,forcefilename,relative,skipexistingvideos,nobrackets -a $CONSOLECD_ART -p "$SYSTEM_NAME" + fi + exit 0 +fi + +if echo "${ARCADE}" | grep -w "${SYSTEM_NAME}" >/dev/null; then + if [ "${SCRAP}" = true ]; then + for SCRAPER in ${ARCADE_SCRAPERS}; do + Skyscraper --flags videos,unattend,noresize -p "${SYSTEM_NAME}" -s "${SCRAPER}" + done + fi + if [ "${BUILD}" = true ]; then + Skyscraper --flags videos,unattend,relative,skipexistingvideos,nobrackets -a $ARCADE_ART -p "${SYSTEM_NAME}" + fi + exit 0 +fi + +# pcenginecd +if "$SYSTEM_NAME" = "pcenginecd"; then + mv -v "${ROM_DIR}"/pcengine "${ROM_DIR}"/pcengine.cart + mv -v "${ROM_DIR}"/pcenginecd "${ROM_DIR}"/pcengine + + if [ "${SCRAP}" = true ]; then + for SCRAPER in $CONSOLE_SCRAPERS; do + Skyscraper --flags videos,unattend,noresize -p "${SYSTEM_NAME}" -s "${SCRAPER}" + done + fi + if [ "${BUILD}" = true ]; then + Skyscraper --flags videos,unattend,forcefilename,relative,skipexistingvideos,nobrackets -a $CONSOLECD_ART -p "${SYSTEM_NAME}" + fi + + mv -v "${ROM_DIR}"/pcengine "${ROM_DIR}"/pcenginecd + mv -v "${ROM_DIR}"/pcengine.cart "${ROM_DIR}"/pcengine + exit 0 +fi \ No newline at end of file