mirror of
https://gitlab.com/Nanolx/patchimage.git
synced 2024-11-01 07:15:06 +01:00
249 lines
3.8 KiB
Bash
249 lines
3.8 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
|
||
|
optparse () {
|
||
|
|
||
|
xcount=0
|
||
|
pcount=$#
|
||
|
|
||
|
while [[ $xcount -lt $pcount ]]; do
|
||
|
case ${1} in
|
||
|
|
||
|
--iso=* )
|
||
|
ISO_PATH="${1/*=}"
|
||
|
|
||
|
if [[ -f "${ISO_PATH}" ]]; then
|
||
|
IMAGE="${ISO_PATH}"
|
||
|
else
|
||
|
echo -e "ISO not found"
|
||
|
exit 15
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
--rom=* )
|
||
|
ROM_PATH="${1/*=}"
|
||
|
|
||
|
if [[ -f "${ROM_PATH}" ]]; then
|
||
|
ROM="${ROM_PATH}"
|
||
|
else
|
||
|
echo -e "ROM not found"
|
||
|
exit 15
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
--riivolution=* )
|
||
|
RIIVOLUTION="${1/*=}"
|
||
|
if [[ -f "${RIIVOLUTION}" ]]; then
|
||
|
"${UNP}" "${RIIVOLUTION}" >/dev/null
|
||
|
else
|
||
|
echo -e "Riivolution patch ${RIIVOLUTION} not found."
|
||
|
exit 21
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
--patch=* )
|
||
|
PATCH="${1/*=}"
|
||
|
if [[ -f "${PATCH}" ]]; then
|
||
|
PATCH="${PATCH}"
|
||
|
else
|
||
|
echo -e "IPS/PPF patch ${PATCH} not found."
|
||
|
exit 21
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
--customid=* )
|
||
|
CUSTOMID=${1/*=}
|
||
|
if [[ ${#CUSTOMID} != 6 ]]; then
|
||
|
echo -e "CustomID ${CUSTOMID} needs to have 6 digits"
|
||
|
exit 39
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
--download )
|
||
|
export PATCHIMAGE_RIIVOLUTION_DOWNLOAD=TRUE
|
||
|
;;
|
||
|
|
||
|
--show-download )
|
||
|
export PATCHIMAGE_SHOW_DOWNLOAD=TRUE
|
||
|
;;
|
||
|
|
||
|
--soundtrack )
|
||
|
export PATCHIMAGE_SOUNDTRACK_DOWNLOAD=TRUE
|
||
|
;;
|
||
|
|
||
|
--only-soundtrack )
|
||
|
export PATCHIMAGE_SOUNDTRACK_DOWNLOAD=TRUE
|
||
|
export ONLY_SOUNDTRACK=TRUE
|
||
|
;;
|
||
|
|
||
|
--override-szs )
|
||
|
export MKWIIMM_OVERRIDE_SZS=TRUE
|
||
|
;;
|
||
|
|
||
|
--version=* )
|
||
|
VERSION="${1/*=}"
|
||
|
case ${VERSION} in
|
||
|
EURv1 )
|
||
|
export REG_LETTER=P
|
||
|
;;
|
||
|
|
||
|
EURv2 )
|
||
|
export REG_LETTER=P
|
||
|
;;
|
||
|
|
||
|
USAv1 )
|
||
|
export REG_LETTER=E
|
||
|
;;
|
||
|
|
||
|
USAv2 )
|
||
|
export REG_LETTER=E
|
||
|
;;
|
||
|
|
||
|
JPNv1 )
|
||
|
export REG_LETTER=J
|
||
|
;;
|
||
|
|
||
|
* )
|
||
|
echo -e "unrecognized game version: ${VERSION}"
|
||
|
exit 27
|
||
|
;;
|
||
|
esac
|
||
|
;;
|
||
|
|
||
|
--sharesave )
|
||
|
export PATCHIMAGE_SHARE_SAVE=TRUE
|
||
|
;;
|
||
|
|
||
|
--game=* )
|
||
|
export GAME="${1/*=}"
|
||
|
;;
|
||
|
|
||
|
--list-games )
|
||
|
echo "${SUPPORTED_GAMES_ALL}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-games-nsmb )
|
||
|
echo "${SUPPORTED_GAMES_NSMB}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-games-mkwiimmfi )
|
||
|
echo "${SUPPORTED_GAMES_MKWIIMMFI}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-games-tokyo )
|
||
|
echo "${SUPPORTED_GAMES_TOKYOMIRAGESESSIONSFE}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-games-kirby )
|
||
|
echo "${SUPPORTED_GAMES_KIRBY}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-games-pokemon )
|
||
|
echo "${SUPPORTED_GAMES_POKEMON}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-games-3ds )
|
||
|
echo "${SUPPORTED_GAMES_3DS}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-games-other )
|
||
|
echo "${SUPPORTED_GAMES_OTHER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements )
|
||
|
echo "${REQUIREMENTS_ALL}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements-nsmb )
|
||
|
echo "${REQUIREMENTS_NSMB}"
|
||
|
echo "${REQUIREMENTS_FOOTER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements-mkwiimmfi )
|
||
|
echo "${REQUIREMENTS_MKWIIMMFI}"
|
||
|
echo "${REQUIREMENTS_FOOTER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements-tokyo )
|
||
|
echo "${REQUIREMENTS_TOKYOMIRAGESESSIONSFE}"
|
||
|
echo "${REQUIREMENTS_FOOTER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements-kirby )
|
||
|
echo "${REQUIREMENTS_KIRBY}"
|
||
|
echo "${REQUIREMENTS_FOOTER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements-pokemon )
|
||
|
echo "${REQUIREMENTS_POKEMON}"
|
||
|
echo "${REQUIREMENTS_FOOTER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements-3ds )
|
||
|
echo "${REQUIREMENTS_3DS}"
|
||
|
echo "${REQUIREMENTS_FOOTER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--list-requirements-other )
|
||
|
echo "${REQUIREMENTS_OTHER}"
|
||
|
echo "${REQUIREMENTS_FOOTER}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--covers )
|
||
|
export PATCHIMAGE_COVER_DOWNLOAD=TRUE
|
||
|
;;
|
||
|
|
||
|
--only-covers=* )
|
||
|
export PATCHIMAGE_COVER_DOWNLOAD=TRUE
|
||
|
download_covers "${1/*=}"
|
||
|
exit 0
|
||
|
;;
|
||
|
|
||
|
--banner=* )
|
||
|
BANNER="${1/*=}"
|
||
|
BANNER_EXT="${BANNER//*./}"
|
||
|
if [[ ${BANNER_EXT} != "bnr" ]]; then
|
||
|
echo "given banner (${BANNER}) is not a .bnr file!"
|
||
|
exit 33
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
--download-banner )
|
||
|
export PATCHIMAGE_BANNER_DOWNLOAD=TRUE
|
||
|
;;
|
||
|
|
||
|
--xdelta=* )
|
||
|
export XDELTA_PATH="${1/*=}"
|
||
|
;;
|
||
|
|
||
|
--cpk=* )
|
||
|
export CPK_PATH="${1/*=}"
|
||
|
;;
|
||
|
|
||
|
--help | -h )
|
||
|
echo "${PATCHIMAGE_HELP}"
|
||
|
exit 0
|
||
|
;;
|
||
|
esac
|
||
|
shift
|
||
|
xcount=$((xcount+1))
|
||
|
done
|
||
|
|
||
|
}
|