mirror of
https://gitlab.com/Nanolx/patchimage.git
synced 2024-10-31 23:05:06 +01:00
version 4.0, see ChangeLog
This commit is contained in:
parent
1c7163b5d0
commit
7efedef7ee
21
ChangeLog
21
ChangeLog
@ -1,3 +1,24 @@
|
||||
v4.0:
|
||||
- bugfix: fix looking for already downloaded riivolution files in
|
||||
${PATCHIMAGE_RIIVOLUTION_DIR}
|
||||
- bugfix: fix looking for original game iso in ${PATCHIMAGE_WBFS_DIR}
|
||||
- bugfix: if the directories set in ${HOME}/.patchimage.rc don't exist
|
||||
let the script create them
|
||||
- bugfix: fix paths for NewerSMBW (seems they changed the way the latest
|
||||
release is packaged slightly)
|
||||
- bugfix: download files with __tmp suffix, so that faulty downloads cause
|
||||
re-download the next time it is tried
|
||||
- bugfix: make use of ${PATCHIMAGE_PATCH_DIR} when building Retro Remix,
|
||||
fixing the openingTitle for PAL and US
|
||||
- bugfix: fix applying openingTitle for PAL and US in NSMBW4
|
||||
- bugfix: updated download link for NSMBW3 (downloading works again)
|
||||
- bugfix: don't apply wiiStrap from NSMBW3 on PAL (black screen on start)
|
||||
- added meaningfull exit codes to the script (see: EXIT_CODES for more info)
|
||||
- annoy the user with messages (eases finding bugs, as you now see when the
|
||||
script stopped working) and make wit quiet
|
||||
- do all operation in ${PWD}/workdir (which removed on each start)
|
||||
- support for Awesomer Super Luigi Mini (WIP)
|
||||
|
||||
v3.1:
|
||||
- bugfix: for NSMBW3 on US games the language files weren't updated
|
||||
- bugfix: for Super Mario: Mushroom Adventure PLUS - Winter Moon on US
|
||||
|
58
README
58
README
@ -12,62 +12,20 @@ script uses files as "unzip" creates them. No need to modify whatever.
|
||||
own the original, you can't blame me. patchimage is 100% legal, as it
|
||||
does not contain any propritary contents, nor is able to grab them.
|
||||
|
||||
Supported Games
|
||||
* NSMBW3: The Final Levels (riivolution) [SLF?01]
|
||||
* Newer SMBW (riivolution) [SMN?03]
|
||||
* Cannon SMBW (riivolution) [SMN?04]
|
||||
* Another SMBW (riivolution) [SMN?05]
|
||||
* Newer Summer Sun (riivolution) [SMN?06]
|
||||
* Newer Holiday Special (riivolution) [SMN?07]
|
||||
* Epic Super Bower World (riivolution) [SMN?08]
|
||||
* Koopa Country (riivolution) [SMN?10]
|
||||
* New Super Mario Bros. 4 (riivolution) [SMN?11]
|
||||
* Super Mario: Mushroom Adventure PLUS - Winter Moon (riivolution) [SMM?02]
|
||||
* Super Mario Vacation (riivolution) [SMV?01]
|
||||
* New Super Mario Bros. Wii Retro Remix [MRR?01]
|
||||
* The Legend of Zelda: Parallel Worlds (ips)
|
||||
More information:
|
||||
* supported games: see file README.GAMEIDS
|
||||
* supported commandline flags: see file README.CMD_OPTS
|
||||
* configuration file example: see file README.RC
|
||||
* status code while processing: see file README.STATUS_CODES
|
||||
* exit codes (for debugging): see file README.EXIT_CODES
|
||||
|
||||
Default Searchpaths:
|
||||
Default searchpaths:
|
||||
|
||||
ISO: BASE.iso / BASE.wbfs / GAMEID.iso / GAMEID.wbfs
|
||||
Riivolution: Original name of the zip / unpacked folder
|
||||
ROM: some mask matching the file (eg: "*[Ll]ink*[Pp]ast*smc" for Zelda: Parallel Worlds)
|
||||
|
||||
Parameters
|
||||
--game={NewerSMB;NewerSummerSun;AnotherSMBW;HolidaySpecial;ParallelWorlds...}
|
||||
specify game to create (if none is provided, the script will ask you)
|
||||
|
||||
--iso/--rom=/home/test/<Image>
|
||||
specify path to the original ISO/ROM
|
||||
|
||||
--riivolution/--patch=<Patch>
|
||||
specify path to Riivolution/Patch files
|
||||
|
||||
--version=EURv1,EURv2,USAv1,USAv2,JPNv1
|
||||
specify your game version (for Wii games, if auto-detection fails)
|
||||
|
||||
--customdid=SMNP02
|
||||
specify a custom ID to use for the game
|
||||
|
||||
--sharesave
|
||||
let modified game share savegame with original game
|
||||
|
||||
--download
|
||||
download riivolution/patchfiles
|
||||
|
||||
--soundtrack
|
||||
download soundtrack (if available) and exit
|
||||
|
||||
--banner=<banner>
|
||||
specify a custom banner to use
|
||||
|
||||
--download-banner
|
||||
download a custom banner (if available)
|
||||
|
||||
--clean
|
||||
cleanup working directory from anything (also riivolution patches)
|
||||
|
||||
Examples:
|
||||
Example usage:
|
||||
|
||||
NewerSMBW:
|
||||
$ patchimage --game=NewerSMBW --iso=/home/test/SMNP01.iso --download
|
||||
|
33
README.CMD_OPTS
Normal file
33
README.CMD_OPTS
Normal file
@ -0,0 +1,33 @@
|
||||
Parameters
|
||||
--game={NewerSMB;NewerSummerSun;AnotherSMBW;HolidaySpecial;ParallelWorlds...}
|
||||
specify game to create (if none is provided, the script will ask you)
|
||||
|
||||
--iso/--rom=/home/test/<Image>
|
||||
specify path to the original ISO/ROM
|
||||
|
||||
--riivolution/--patch=<Patch>
|
||||
specify path to Riivolution/Patch files
|
||||
|
||||
--version=EURv1,EURv2,USAv1,USAv2,JPNv1
|
||||
specify your game version (for Wii games, if auto-detection fails)
|
||||
|
||||
--customdid=SMNP02
|
||||
specify a custom ID to use for the game
|
||||
|
||||
--sharesave
|
||||
let modified game share savegame with original game
|
||||
|
||||
--download
|
||||
download riivolution/patchfiles
|
||||
|
||||
--soundtrack
|
||||
download soundtrack (if available) and exit
|
||||
|
||||
--banner=<banner>
|
||||
specify a custom banner to use
|
||||
|
||||
--download-banner
|
||||
download a custom banner (if available)
|
||||
|
||||
--clean
|
||||
cleanup working directory from anything (also riivolution patches)s
|
19
README.EXIT_CODES
Normal file
19
README.EXIT_CODES
Normal file
@ -0,0 +1,19 @@
|
||||
If the script failed at some point issueing
|
||||
|
||||
echo $?
|
||||
|
||||
right after the failure will you show the following:
|
||||
|
||||
0 everything went right
|
||||
1 general error (none of the following)
|
||||
9 game specified is not known
|
||||
15 ISO or ROM does not exist
|
||||
21 Riivolution files/patch does not exist
|
||||
27 NSMBW version is not recognized
|
||||
33 custom banner specified from command line is not a .bnr file
|
||||
39 custom game id specified from command line is not a 6 digit alphanumeric
|
||||
45 error copying new game files
|
||||
51 wit/ips/applyppf caught an error processing files
|
||||
57 wget caught an error while downloading
|
||||
63 unp caught an error while unpacking a file
|
||||
|
@ -13,6 +13,7 @@ SMN?08 Epic Super Bowser World
|
||||
SMN?09 ?
|
||||
SMN?10 Koopa Country
|
||||
SMN?11 New Super Mario Bros. 4
|
||||
SMN?12 Awesomer Super Luigi Mini
|
||||
|
||||
SMM?02 Super Mario: Mushroom Adventure PLUS - Winter Moon
|
||||
|
19
README.STATUS_CODES
Normal file
19
README.STATUS_CODES
Normal file
@ -0,0 +1,19 @@
|
||||
While the script executes you will see some status codes, below you will find the meaning:
|
||||
|
||||
phase code meaning
|
||||
*** 1) 0 neither BASE.iso nor BASE.wbfs found
|
||||
1 BASE.iso found in ${PWD}
|
||||
2 BASE.wbfs found in ${PWD}
|
||||
|
||||
*** 2) 0 no <GAMEID>.iso/.wbfs found (or required if *** 1) exited with 1 or 2)
|
||||
1 <GAMEID>.iso found in ${PWD}
|
||||
2 <GAMEID>.wbfs found in ${PWD}
|
||||
3 <GAMEID>.iso found in ${PATCHIMAGE_WBFS_DIR}
|
||||
4 <GAMEID>.iso found in ${PATCHIMAGE_WBFS_DIR}
|
||||
|
||||
*** 3) 0 no riivolution files found unpacked in ${PWD}
|
||||
1 riivolution files/archive not found in ${PWD}
|
||||
2 riivolution archive found in ${PWD}
|
||||
3 riivolution archive found in ${PATCHIMAGE_RIIVOLUTION_DIR}
|
||||
4 patchimage was told to download riivolution archive, but no link is available
|
||||
5 patchimage is downloading riivolution archive
|
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,3 +1,9 @@
|
||||
patchimage (4.0-1nano) unstable; urgency=low
|
||||
|
||||
* new upstream stable release
|
||||
|
||||
-- Christopher Roy Bratusek <nano@tuxfamily.org> Sun, 12 Oct 2013 10:27:31 +0200
|
||||
|
||||
patchimage (3.1-1nano) unstable; urgency=low
|
||||
|
||||
* new upstream stable release
|
||||
|
@ -6,17 +6,35 @@
|
||||
#
|
||||
# License: GPL v3
|
||||
|
||||
if [[ ! -d ${PWD}/workdir ]]; then
|
||||
mkdir ${PWD}/workdir
|
||||
else
|
||||
rm -rf ${PWD}/workdir/*
|
||||
fi
|
||||
|
||||
if [[ -d ${PWD}/script.d ]]; then
|
||||
PATCHIMAGE_SCRIPT_DIR=${PWD}/script.d
|
||||
PATCHIMAGE_PATCH_DIR=${PWD}/patches
|
||||
PATCHIMAGE_TOOLS_DIR=${PWD}/tools
|
||||
PATCHIMAGE_SCRIPT_DIR=../script.d
|
||||
PATCHIMAGE_PATCH_DIR=../patches
|
||||
PATCHIMAGE_TOOLS_DIR=../tools
|
||||
else
|
||||
PATCHIMAGE_SCRIPT_DIR=/usr/share/patchimage/script.d
|
||||
PATCHIMAGE_PATCH_DIR=/usr/share/patchimage/patches
|
||||
PATCHIMAGE_TOOLS_DIR=/usr/share/patchimage/tools
|
||||
fi
|
||||
|
||||
cd ${PWD}/workdir
|
||||
|
||||
PATCHIMAGE_RIIVOLUTION_DIR=${PWD}
|
||||
PATCHIMAGE_WBFS_DIR=${PWD}
|
||||
PATCHIMAGE_AUDIO_DIR=${PWD}
|
||||
|
||||
if [[ -e $HOME/.patchimage.rc ]]; then
|
||||
source $HOME/.patchimage.rc
|
||||
fi
|
||||
|
||||
source ${PATCHIMAGE_SCRIPT_DIR}/common.sh
|
||||
check_directories
|
||||
|
||||
setup_tools
|
||||
|
||||
optparse "${@}"
|
||||
@ -75,13 +93,17 @@ case ${GAME} in
|
||||
source ${PATCHIMAGE_SCRIPT_DIR}/summervacation.sh
|
||||
;;
|
||||
|
||||
m | M | ASLM | "Awesomer Super Luigi Mini" )
|
||||
source ${PATCHIMAGE_SCRIPT_DIR}/awesomersuperluigi.sh
|
||||
;;
|
||||
|
||||
1 | ParallelWorlds | "The Legend of Zelda: Parallel Worlds" )
|
||||
source ${PATCHIMAGE_SCRIPT_DIR}/parallelworlds.sh
|
||||
;;
|
||||
|
||||
* )
|
||||
echo -e "specified Game ${GAME} not recognized"
|
||||
exit 1
|
||||
exit 9
|
||||
;;
|
||||
|
||||
esac
|
||||
@ -90,20 +112,33 @@ case ${GAME_TYPE} in
|
||||
"RIIVOLUTION" )
|
||||
show_notes
|
||||
rm -rf ${WORKDIR}
|
||||
if [[ ${DOWNLOAD_SOUNDTRACK} == TRUE ]]; then
|
||||
echo "\n*** 1) download_soundtrack"
|
||||
download_soundtrack
|
||||
exit 0
|
||||
fi
|
||||
echo -e "\n*** 1) check_input_image"
|
||||
check_input_image
|
||||
echo "*** 2) check_input_image_special"
|
||||
check_input_image_special
|
||||
echo "*** 3) check_riivolution_patch"
|
||||
check_riivolution_patch
|
||||
|
||||
${WIT} extract ${IMAGE} ${WORKDIR} --psel=DATA -vv || exit 1
|
||||
echo "*** 4) extract game"
|
||||
${WIT} extract ${IMAGE} ${WORKDIR} --psel=DATA -q || exit 51
|
||||
|
||||
echo "*** 5) detect_game_version"
|
||||
detect_game_version
|
||||
rm -f ${GAMEID}.wbfs ${CUSTOMID}.wbfs
|
||||
place_files
|
||||
echo "*** 6) place_files"
|
||||
place_files || exit 45
|
||||
|
||||
echo "*** 7) download_banner"
|
||||
download_banner
|
||||
echo "*** 8) apply_banner"
|
||||
apply_banner
|
||||
|
||||
echo "*** 9) dolpatch"
|
||||
dolpatch
|
||||
|
||||
if [[ ${CUSTOMID} ]]; then
|
||||
@ -116,13 +151,19 @@ case ${GAME_TYPE} in
|
||||
TMD_OPTS="--tt-id=K"
|
||||
fi
|
||||
|
||||
${WIT} cp -v -B ${WORKDIR} ${GAMEID}.wbfs -vv --disc-id=${GAMEID} ${TMD_OPTS} --name "${GAMENAME}" || exit 1
|
||||
echo "*** 10) rebuild game"
|
||||
${WIT} cp -q -B ${WORKDIR} ${GAMEID}.wbfs --disc-id=${GAMEID} ${TMD_OPTS} --name "${GAMENAME}" || exit 51
|
||||
|
||||
if [[ -d ${PATCHIMAGE_WBFS_DIR} && ${PATCHIMAGE_WBFS_DIR} != . ]]; then
|
||||
if [[ -d ${PATCHIMAGE_WBFS_DIR} && ${PATCHIMAGE_WBFS_DIR} != ${PWD} ]]; then
|
||||
echo "*** 11) store game"
|
||||
mv ${GAMEID}.wbfs "${PATCHIMAGE_WBFS_DIR}"/
|
||||
fi
|
||||
|
||||
echo -e "\n >>> ${GAMENAME} saved as:\n >>> ${PATCHIMAGE_WBFS_DIR}/${GAMEID}.wbfs"
|
||||
echo "*** 12) remove workdir"
|
||||
cd ..
|
||||
rm -rf workdir
|
||||
|
||||
echo -e "\n >>> ${GAMENAME} saved as: ${PATCHIMAGE_WBFS_DIR}/${GAMEID}.wbfs\n"
|
||||
|
||||
;;
|
||||
|
||||
@ -133,7 +174,7 @@ case ${GAME_TYPE} in
|
||||
if [[ -f ${PATCH} ]]; then
|
||||
ext=${ROM/*.}
|
||||
cp "${ROM}" "${GAMENAME}.${ext}"
|
||||
${IPS} a "${PATCH}" "${GAMENAME}.${ext}"
|
||||
${IPS} a "${PATCH}" "${GAMENAME}.${ext}" || exit 51
|
||||
else
|
||||
echo -e "error: patch (${PATCH}) could not be found"
|
||||
fi
|
||||
|
92
script.d/awesomersuperluigi.sh
Normal file
92
script.d/awesomersuperluigi.sh
Normal file
@ -0,0 +1,92 @@
|
||||
#!/bin/bash
|
||||
|
||||
WORKDIR=nsmb.d
|
||||
DOL=${WORKDIR}/sys/main.dol
|
||||
DOWNLOAD_LINK="https://www.dropbox.com/s/t3b3fvycm1ufu46/AwesomerSLM.zip"
|
||||
RIIVOLUTION_ZIP="AwesomerSLM.zip"
|
||||
RIIVOLUTION_DIR="AwesomerSLM"
|
||||
GAMENAME="Awesomer Super Luigi Mini"
|
||||
XML_SOURCE="${RIIVOLUTION_DIR}"/AwesomerSLM
|
||||
XML_FILE="${RIIVOLUTION_DIR}"/riivolution/ASLMriivo.xml
|
||||
GAME_TYPE=RIIVOLUTION
|
||||
BANNER_LOCATION=${WORKDIR}/files/opening.bnr
|
||||
|
||||
show_notes () {
|
||||
|
||||
echo -e \
|
||||
"************************************************
|
||||
${GAMENAME}
|
||||
|
||||
1: Custom Levels for World 1
|
||||
2: World 1's map will be world 4's
|
||||
3: Joietyfull64's NSMBU tilesets
|
||||
4: Custom logo.
|
||||
|
||||
Source: http://rvlution.net/forums/viewtopic.php?f=53&t=1851
|
||||
Base Image: New Super Mario Bros. Wii (SMN?01)
|
||||
Supported Versions: EURv1, EURv2, USAv1, USAv2, JPNv1
|
||||
************************************************"
|
||||
|
||||
}
|
||||
|
||||
check_input_image_special () {
|
||||
|
||||
check_input_image_nsmb
|
||||
|
||||
}
|
||||
|
||||
detect_game_version () {
|
||||
|
||||
nsmbw_version
|
||||
|
||||
GAMEID=SMN${REG_LETTER}12
|
||||
|
||||
}
|
||||
|
||||
place_files () {
|
||||
|
||||
NEW_DIRS=( ${WORKDIR}/files/EU/NedEU/Message ${WORKDIR}/files/EU/PolEU/Message ${WORKDIR}/files/Sample/)
|
||||
for dir in ${NEW_DIRS[@]}; do
|
||||
mkdir -p ${dir}
|
||||
done
|
||||
|
||||
case ${VERSION} in
|
||||
EUR* )
|
||||
LANGDIRS=( EngEU FraEU GerEU ItaEU SpaEU NedEU PolEU )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp "${RIIVOLUTION_DIR}"/AwesomerSLM/MessageEN/Message/Message.arc ${WORKDIR}/files/EU/${dir}/Message/Message.arc
|
||||
done
|
||||
;;
|
||||
|
||||
USAv* )
|
||||
LANGDIRS=( FraUS EngUS SpaUS )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp "${RIIVOLUTION_DIR}"/AwesomerSLM/MessageEN/Message/Message.arc ${WORKDIR}/files/US/${dir}/Message/Message.arc
|
||||
done
|
||||
cp -r "${RIIVOLUTION_DIR}"/AwesomerSLM/OpeningUS/openingTitle/ ${WORKDIR}/files/US/Layout/
|
||||
;;
|
||||
|
||||
JPNv1 )
|
||||
cp "${RIIVOLUTION_DIR}"/AwesomerSLM/MessageEN/Message/Message.arc ${WORKDIR}/files/JP/
|
||||
;;
|
||||
esac
|
||||
|
||||
cp -r "${RIIVOLUTION_DIR}"/AwesomerSLM/Stages/* ${WORKDIR}/files/Stage/
|
||||
cp "${RIIVOLUTION_DIR}"/AwesomerSLM/Sound/*.brstm ${WORKDIR}/files/Sound/stream/
|
||||
cp "${RIIVOLUTION_DIR}"/AwesomerSLM/Sound/BRSAR/* ${WORKDIR}/files/Sound/
|
||||
cp -r "${RIIVOLUTION_DIR}"/AwesomerSLM/Object/ ${WORKDIR}/files/Object/
|
||||
#cp -r "${RIIVOLUTION_DIR}"/AwesomerSLM/Layout/ ${WORKDIR}/files/
|
||||
|
||||
}
|
||||
|
||||
|
||||
dolpatch () {
|
||||
|
||||
${WIT} dolpatch ${DOL} \
|
||||
"802F148C=53756D6D53756E#7769696D6A3264" \
|
||||
"802F118C=53756D6D53756E#7769696D6A3264" \
|
||||
"802F0F8C=53756D6D53756E#7769696D6A3264" \
|
||||
xml="${PATCHIMAGE_PATCH_DIR}/NSMBW_AP.xml" -q
|
||||
|
||||
}
|
||||
|
@ -1,18 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
TMP_FILES=(Another nsmb.d XmasNewer NewerFiles "Newer*Summer*Sun" \
|
||||
ZPW_1.1.ips Epic_Super_Bowser_World_v1.00 Riivolution Koopa \
|
||||
Cannon_Super_Mario_Bros._Wii_v1.1 riivolution "Readme*" "*.txt" "*.rtf" \
|
||||
"*.dol" "*.elf" nsmb "Retro Remix" WinterMoon WMManual.rtf NSMBW3 )
|
||||
|
||||
PATCHIMAGE_RIIVOLUTION_DIR="."
|
||||
PATCHIMAGE_WBFS_DIR="."
|
||||
PATCHIMAGE_AUDIO_DIR="."
|
||||
|
||||
if [[ -e $HOME/.patchimage.rc ]]; then
|
||||
source $HOME/.patchimage.rc
|
||||
fi
|
||||
|
||||
setup_tools () {
|
||||
|
||||
if [[ $(uname -m) == "x86_64" ]]; then
|
||||
@ -47,12 +34,6 @@ setup_tools () {
|
||||
|
||||
}
|
||||
|
||||
cleanup () {
|
||||
|
||||
rm -rf ${TMP_FILES[@]} *.wbfs *.bnr
|
||||
|
||||
}
|
||||
|
||||
ask_game () {
|
||||
|
||||
echo -e \
|
||||
@ -72,6 +53,7 @@ I New Super Mario Bros. Wii Retro Remix
|
||||
J Super Mario: Mushroom Adventure PLUS - Winter Moon
|
||||
K NSMBW3: The Final Levels
|
||||
L Super Mario Vacation
|
||||
M Awesomer Super Luigi Mini
|
||||
|
||||
1 The Legend of Zelda: Parallel Worlds
|
||||
"
|
||||
@ -84,12 +66,10 @@ download_soundtrack () {
|
||||
|
||||
if [[ ${SOUNDTRACK} ]]; then
|
||||
if [[ ${SOUNDTRACK_LINK} ]]; then
|
||||
wget --no-check-certificate "${PATCHIMAGE_AUDIO_DIR}"/"${SOUNDTRACK_LINK}" -O "${PATCHIMAGE_RIIVOLUTION_DIR}"/${SOUNDTRACK_ZIP}
|
||||
wget --no-check-certificate "${PATCHIMAGE_AUDIO_DIR}"/"${SOUNDTRACK_LINK}" -O "${PATCHIMAGE_RIIVOLUTION_DIR}"/${SOUNDTRACK_ZIP} || exit 57
|
||||
echo -e "\n >>> soundtrack saved to\n >>> ${PATCHIMAGE_AUDIO_DIR}/${SOUNDTRACK_ZIP}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "no soundtrack for ${GAME} available."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -100,11 +80,12 @@ download_banner () {
|
||||
if [[ ${PATCHIMAGE_BANNER_DOWNLOAD} == "TRUE" ]]; then
|
||||
if [[ ${CUSTOM_BANNER} ]]; then
|
||||
if [[ ! -f "${PATCHIMAGE_RIIVOLUTION_DIR}"/${GAMEID}-custom-banner.bnr ]]; then
|
||||
wget --no-check-certificate "${CUSTOM_BANNER}" -O "${PATCHIMAGE_RIIVOLUTION_DIR}"/${GAMEID}-custom-banner.bnr
|
||||
wget --no-check-certificate "${CUSTOM_BANNER}" -O "${PATCHIMAGE_RIIVOLUTION_DIR}"/${GAMEID}-custom-banner.bnr__tmp || exit 57
|
||||
mv "${PATCHIMAGE_RIIVOLUTION_DIR}"/${GAMEID}-custom-banner.bnr__tmp "${PATCHIMAGE_RIIVOLUTION_DIR}"/${GAMEID}-custom-banner.bnr
|
||||
fi
|
||||
BANNER="${PATCHIMAGE_RIIVOLUTION_DIR}"/${GAMEID}-custom-banner.bnr
|
||||
else
|
||||
echo "no custom banner for ${GAMENAME} available, not modifying"
|
||||
echo "*** >> no custom banner available"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -129,9 +110,9 @@ nsmbw_version () {
|
||||
REG_LETTER=J
|
||||
elif [[ ! ${VERSION} ]]; then
|
||||
echo -e "please specify your games version using --version={EURv1,EURv2,USAv1,USAv2,JPNv1}"
|
||||
exit 1
|
||||
exit 27
|
||||
fi
|
||||
|
||||
echo "*** >> status: ${VERSION}"
|
||||
}
|
||||
|
||||
apply_banner () {
|
||||
@ -146,57 +127,102 @@ apply_banner () {
|
||||
|
||||
}
|
||||
|
||||
check_directories () {
|
||||
|
||||
if [[ ! -d ${PATCHIMAGE_RIIVOLUTION_DIR} ]]; then
|
||||
mkdir -p ${PATCHIMAGE_RIIVOLUTION_DIR}
|
||||
fi
|
||||
|
||||
if [[ ! -d ${PATCHIMAGE_WBFS_DIR} ]]; then
|
||||
mkdir -p ${PATCHIMAGE_WBFS_DIR}
|
||||
fi
|
||||
|
||||
if [[ ! -d ${PATCHIMAGE_GAME_DIR} ]]; then
|
||||
mkdir -p ${PATCHIMAGE_GAME_DIR}
|
||||
fi
|
||||
|
||||
if [[ ! -d ${PATCHIMAGE_AUDIO_DIR} ]]; then
|
||||
mkdir -p ${PATCHIMAGE_AUDIO_DIR}
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
check_input_image () {
|
||||
|
||||
x=0
|
||||
if [[ ! ${IMAGE} ]]; then
|
||||
if [[ -f BASE.wbfs ]]; then
|
||||
x=1
|
||||
IMAGE=BASE.wbfs
|
||||
elif [[ -f BASE.iso ]]; then
|
||||
x=1
|
||||
IMAGE=BASE.iso
|
||||
fi
|
||||
fi
|
||||
echo "*** >> status: ${x}"
|
||||
|
||||
}
|
||||
|
||||
check_input_image_nsmb () {
|
||||
|
||||
x=0
|
||||
if [[ ! ${IMAGE} ]]; then
|
||||
if test -f SMN?01.wbfs; then
|
||||
x=1
|
||||
IMAGE=SMN?01.wbfs
|
||||
elif test -f SMN?01.iso; then
|
||||
x=2
|
||||
IMAGE=SMN?01.iso
|
||||
elif test -f ${PATCHIMAGE_WBFS_DIR}/SMN?01.iso; then
|
||||
x=3
|
||||
IMAGE=${PATCHIMAGE_WBFS_DIR}/SMN?01.iso
|
||||
elif test -f ${PATCHIMAGE_WBFS_DIR}/SMN?01.wbfs; then
|
||||
x=4
|
||||
IMAGE=${PATCHIMAGE_WBFS_DIR}/SMN?01.wbfs
|
||||
else
|
||||
echo -e "please specify image to use with --iso=<path>"
|
||||
exit 1
|
||||
exit 15
|
||||
fi
|
||||
fi
|
||||
echo "*** >> status: ${x}"
|
||||
|
||||
}
|
||||
|
||||
check_riivolution_patch () {
|
||||
|
||||
x=0
|
||||
if [[ ! -d ${RIIVOLUTION_DIR} ]]; then
|
||||
if [[ -f "${PATCHIMAGE_RIIVOLUTION_DIR}"/"${RIIVOLUTION_ZIP}" ]]; then
|
||||
${UNP} "${PATCHIMAGE_RIIVOLUTION_DIR}"/"${RIIVOLUTION_ZIP}" >/dev/null
|
||||
x=1
|
||||
if [[ -f "${PWD}/${RIIVOLUTION_DIR}" ]]; then
|
||||
echo "*** >> unpacking"
|
||||
x=2
|
||||
${UNP} "${PWD}/${RIIVOLUTION_ZIP}" >/dev/null || exit 63
|
||||
elif [[ -f "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" ]]; then
|
||||
echo "*** >> unpacking"
|
||||
x=3
|
||||
${UNP} "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" >/dev/null || exit 63
|
||||
elif [[ ${PATCHIMAGE_RIIVOLUTION_DOWNLOAD} == "TRUE" ]]; then
|
||||
x=4
|
||||
if [[ ${DOWNLOAD_LINK} ]]; then
|
||||
if [[ ! -f "${PATCHIMAGE_RIIVOLUTION_DIR}"/"${RIIVOLUTION_ZIP}" ]]; then
|
||||
wget --no-check-certificate ${DOWNLOAD_LINK} -O "${PATCHIMAGE_RIIVOLUTION_DIR}"/"${RIIVOLUTION_ZIP}"
|
||||
${UNP} "${PATCHIMAGE_RIIVOLUTION_DIR}"/"${RIIVOLUTION_ZIP}" >/dev/null
|
||||
if [[ ! -f "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" ]]; then
|
||||
x=5
|
||||
echo "*** >> downloading"
|
||||
wget --no-check-certificate ${DOWNLOAD_LINK} -O "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp >/dev/null || exit 57
|
||||
mv "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"
|
||||
echo "*** >> unpacking"
|
||||
${UNP} "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" >/dev/null || exit 63
|
||||
fi
|
||||
else
|
||||
echo "no download link for ${GAMENAME} available."
|
||||
exit 1
|
||||
exit 21
|
||||
fi
|
||||
else
|
||||
echo -e "please specify zip/rar to use with --riivolution=<path>"
|
||||
exit 1
|
||||
exit 21
|
||||
fi
|
||||
fi
|
||||
echo "*** >> status: ${x}"
|
||||
|
||||
}
|
||||
|
||||
@ -217,7 +243,7 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
IMAGE=BASE.${ISO_EXT}
|
||||
else
|
||||
echo -e "ISO not found"
|
||||
exit 1
|
||||
exit 15
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -230,7 +256,7 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
IMAGE=BASE.${ROM_EXT}
|
||||
else
|
||||
echo -e "ROM not found"
|
||||
exit 1
|
||||
exit 15
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -240,7 +266,7 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
${UNP} "${RIIVOLUTION}" >/dev/null
|
||||
else
|
||||
echo -e "Riivolution patch ${RIIVOLUTION} not found."
|
||||
exit 1
|
||||
exit 21
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -250,7 +276,7 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
${UNP} "${PATCH}" >/dev/null
|
||||
else
|
||||
echo -e "PATCH patch ${PATCH} not found."
|
||||
exit 1
|
||||
exit 21
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -258,7 +284,7 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
CUSTOMID=${1/*=}
|
||||
if [[ ${#CUSTOMID} != 6 ]]; then
|
||||
echo -e "CustomID ${CUSTOMID} needs to have 6 digits"
|
||||
exit 1
|
||||
exit 39
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -267,7 +293,7 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
;;
|
||||
|
||||
--soundtrack )
|
||||
SOUNDTRACK=TRUE
|
||||
DOWNLOAD_SOUNDTRACK=TRUE
|
||||
;;
|
||||
|
||||
--version=* )
|
||||
@ -295,7 +321,7 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
|
||||
* )
|
||||
echo -e "unrecognized game version: ${VERSION}"
|
||||
exit 1
|
||||
exit 27
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -308,17 +334,12 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
GAME=${1/*=}
|
||||
;;
|
||||
|
||||
--clean )
|
||||
cleanup
|
||||
exit $?
|
||||
;;
|
||||
|
||||
--banner=* )
|
||||
BANNER=${1/*=}
|
||||
BANNER_EXT=${BANNER//*./}
|
||||
if [[ ${BANNER_EXT} != "bnr" ]]; then
|
||||
echo "given banner (${BANNER}) is not a .bnr file!"
|
||||
exit 1
|
||||
exit 33
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -327,17 +348,17 @@ while [[ $xcount -lt $pcount ]]; do
|
||||
;;
|
||||
|
||||
"" | --help )
|
||||
echo -e "create wbfs images from riivolution patches.\n
|
||||
***** using this script is only allowed, if you own an original copy of the game.
|
||||
***** if you don't, no one can be blamed but you. Shame on you.\n
|
||||
--game={NewerSMB;NewerSummerSun;AnotherSMB;HolidaySpecial;ParallelWorlds...}
|
||||
| specify game you want to create
|
||||
echo -e "patchimage 4.0 (2013-10-11)
|
||||
|
||||
(c) 2013 Christopher Roy Bratusek <nano@tuxfamily.org>
|
||||
patchimage creates wbfs images from riivolution patches.
|
||||
|
||||
--game=<gamename/gameletter> | specify game you want to create
|
||||
--iso/--rom=/home/test/<Image> | specify which ISO/ROM to use for building
|
||||
--riivolution/--patch=<Patch> | specify path to Riivolution/Patch files
|
||||
--version=EURv1,EURv2,USAv1,USAv2,JPNv1 | specify your game version
|
||||
--customdid=SMNP02 | specify a custom ID to use for the game
|
||||
--sharesave | let modified game share savegame with original game
|
||||
--clean | cleanup the build-directory
|
||||
--download | download riivolution patchfiles
|
||||
--soundtrack | download soundtrack (if available) and exit
|
||||
--banner=<banner.bnr> | use a custom banner (riivolution games)
|
||||
|
@ -6,10 +6,10 @@ DOWNLOAD_LINK="http://newerteam.com/getNewerFile.php"
|
||||
SOUNDTRACK_LINK="http://dirbaio.net/newer/NewerSoundtrack.zip"
|
||||
SOUNDTRACK_ZIP="NewerSoundtrack.zip"
|
||||
RIIVOLUTION_ZIP="NewerSMBW.zip"
|
||||
RIIVOLUTION_DIR="NewerFiles"
|
||||
RIIVOLUTION_DIR="NewerSMBW"
|
||||
GAMENAME="Newer SMB"
|
||||
XML_SOURCE="${RIIVOLUTION_DIR}"/NewerSMBW/
|
||||
XML_FILE="${RIIVOLUTION_DIR}"/riivolution/NewerSMBW.xml
|
||||
XML_SOURCE="${RIIVOLUTION_DIR}"
|
||||
XML_FILE="${RIIVOLUTION_DIR}"/../riivolution/NewerSMBW.xml
|
||||
GAME_TYPE=RIIVOLUTION
|
||||
BANNER_LOCATION=${WORKDIR}/files/opening.bnr
|
||||
|
||||
@ -56,67 +56,67 @@ place_files () {
|
||||
EUR* )
|
||||
LANGDIRS=( EngEU FraEU GerEU ItaEU SpaEU NedEU )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/NewerSMBW/{Font,Message}/ ${WORKDIR}/files/EU/${dir}/
|
||||
cp -r "${RIIVOLUTION_DIR}"/{Font,Message}/ ${WORKDIR}/files/EU/${dir}/
|
||||
done
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/OthersP/* ${WORKDIR}/files/EU/Layout/openingTitle/
|
||||
cp "${RIIVOLUTION_DIR}"/OthersP/* ${WORKDIR}/files/EU/Layout/openingTitle/
|
||||
;;
|
||||
|
||||
USAv* )
|
||||
LANGDIRS=( FraUS EngUS SpaUS )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/NewerSMBW/{Font,Message}/ ${WORKDIR}/files/US/${dir}/
|
||||
cp -r "${RIIVOLUTION_DIR}"/{Font,Message}/ ${WORKDIR}/files/US/${dir}/
|
||||
done
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/OthersE/* ${WORKDIR}/files/US/Layout/openingTitle/
|
||||
cp "${RIIVOLUTION_DIR}"/OthersE/* ${WORKDIR}/files/US/Layout/openingTitle/
|
||||
;;
|
||||
|
||||
JPNv1 )
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Font/* ${WORKDIR}/files/JP/Font/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Message/* ${WORKDIR}/files/JP/Message/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/OthersJ/* ${WORKDIR}/files/JP/Layout/openingTitle/
|
||||
cp "${RIIVOLUTION_DIR}"/Font/* ${WORKDIR}/files/JP/Font/
|
||||
cp "${RIIVOLUTION_DIR}"/Message/* ${WORKDIR}/files/JP/Message/
|
||||
cp "${RIIVOLUTION_DIR}"/OthersJ/* ${WORKDIR}/files/JP/Layout/openingTitle/
|
||||
;;
|
||||
esac
|
||||
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Tilesets/* ${WORKDIR}/files/Stage/Texture/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/TitleReplay/* ${WORKDIR}/files/Replay/title/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/BGs/* ${WORKDIR}/files/Object/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/SpriteTex/* ${WORKDIR}/files/Object/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Layouts/* ${WORKDIR}/files/Layout/
|
||||
cp -r "${RIIVOLUTION_DIR}"/NewerSMBW/Music/*.er ${WORKDIR}/files/Sound/new/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Music/sfx/* ${WORKDIR}/files/Sound/new/sfx/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Music/stream/* ${WORKDIR}/files/Sound/stream/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Music/rsar/* ${WORKDIR}/files/Sound/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/NewerRes/* ${WORKDIR}/files/NewerRes/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/LevelSamples/* ${WORKDIR}/files/LevelSamples/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/charaChangeSelectContents.arc ${WORKDIR}/files/Layout/charaChangeSelectContents/charaChangeSelectContents.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/characterChange.arc ${WORKDIR}/files/Layout/characterChange/characterChange.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/continue.arc ${WORKDIR}/files/Layout/continue/continue.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/controllerInformation.arc ${WORKDIR}/files/Layout/controllerInformation/controllerInformation.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/corseSelectMenu.arc ${WORKDIR}/files/Layout/corseSelectMenu/corseSelectMenu.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/corseSelectUIGuide.arc ${WORKDIR}/files/Layout/corseSelectUIGuide/corseSelectUIGuide.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/dateFile.arc ${WORKDIR}/files/Layout/dateFile/dateFile.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/dateFile_OLD.arc ${WORKDIR}/files/Layout/dateFile/dateFile_OLD.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/easyPairing.arc ${WORKDIR}/files/Layout/easyPairing/easyPairing.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/extensionControllerNunchuk.arc ${WORKDIR}/files/Layout/extensionControllerNunchuk/extensionControllerNunchuk.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/extensionControllerYokomochi.arc ${WORKDIR}/files/Layout/extensionControllerYokomochi/extensionControllerYokomochi.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/fileSelectBase.arc ${WORKDIR}/files/Layout/fileSelectBase/fileSelectBase.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/fileSelectBase_OLD.arc ${WORKDIR}/files/Layout/fileSelectBase/fileSelectBase_OLD.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/fileSelectPlayer.arc ${WORKDIR}/files/Layout/fileSelectPlayer/fileSelectPlayer.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/gameScene.arc ${WORKDIR}/files/Layout/gameScene/gameScene.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/infoWindow.arc ${WORKDIR}/files/Layout/infoWindow/infoWindow.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/miniGameCannon.arc ${WORKDIR}/files/Layout/miniGameCannon/miniGameCannon.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/miniGameWire.arc ${WORKDIR}/files/Layout/miniGameWire/miniGameWire.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/pauseMenu.arc ${WORKDIR}/files/Layout/pauseMenu/pauseMenu.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/pointResultDateFile.arc ${WORKDIR}/files/Layout/pointResultDateFile/pointResultDateFile.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/pointResultDateFileFree.arc ${WORKDIR}/files/Layout/pointResultDateFileFree/pointResultDateFileFree.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/preGame.arc ${WORKDIR}/files/Layout/preGame/preGame.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/select_cursor.arc ${WORKDIR}/files/Layout/select_cursor/select_cursor.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/sequenceBG.arc ${WORKDIR}/files/Layout/sequenceBG/sequenceBG.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/staffCredit.arc ${WORKDIR}/files/Layout/staffCredit/staffCredit.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/stockItem.arc ${WORKDIR}/files/Layout/stockItem/stockItem.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/stockItemShadow.arc ${WORKDIR}/files/Layout/stockItemShadow/stockItemShadow.arc
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Others/yesnoWindow.arc ${WORKDIR}/files/Layout/yesnoWindow/yesnoWindow.arc
|
||||
cp -r "${RIIVOLUTION_DIR}"/NewerSMBW/Maps/* ${WORKDIR}/files/Maps/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerSMBW/Stages/* ${WORKDIR}/files/Stage/
|
||||
cp "${RIIVOLUTION_DIR}"/Tilesets/* ${WORKDIR}/files/Stage/Texture/
|
||||
cp "${RIIVOLUTION_DIR}"/TitleReplay/* ${WORKDIR}/files/Replay/title/
|
||||
cp "${RIIVOLUTION_DIR}"/BGs/* ${WORKDIR}/files/Object/
|
||||
cp "${RIIVOLUTION_DIR}"/SpriteTex/* ${WORKDIR}/files/Object/
|
||||
cp "${RIIVOLUTION_DIR}"/Layouts/* ${WORKDIR}/files/Layout/
|
||||
cp -r "${RIIVOLUTION_DIR}"/Music/*.er ${WORKDIR}/files/Sound/new/
|
||||
cp "${RIIVOLUTION_DIR}"/Music/sfx/* ${WORKDIR}/files/Sound/new/sfx/
|
||||
cp "${RIIVOLUTION_DIR}"/Music/stream/* ${WORKDIR}/files/Sound/stream/
|
||||
cp "${RIIVOLUTION_DIR}"/Music/rsar/* ${WORKDIR}/files/Sound/
|
||||
cp "${RIIVOLUTION_DIR}"/NewerRes/* ${WORKDIR}/files/NewerRes/
|
||||
cp "${RIIVOLUTION_DIR}"/LevelSamples/* ${WORKDIR}/files/LevelSamples/
|
||||
cp "${RIIVOLUTION_DIR}"/Others/charaChangeSelectContents.arc ${WORKDIR}/files/Layout/charaChangeSelectContents/charaChangeSelectContents.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/characterChange.arc ${WORKDIR}/files/Layout/characterChange/characterChange.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/continue.arc ${WORKDIR}/files/Layout/continue/continue.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/controllerInformation.arc ${WORKDIR}/files/Layout/controllerInformation/controllerInformation.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/corseSelectMenu.arc ${WORKDIR}/files/Layout/corseSelectMenu/corseSelectMenu.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/corseSelectUIGuide.arc ${WORKDIR}/files/Layout/corseSelectUIGuide/corseSelectUIGuide.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/dateFile.arc ${WORKDIR}/files/Layout/dateFile/dateFile.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/dateFile_OLD.arc ${WORKDIR}/files/Layout/dateFile/dateFile_OLD.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/easyPairing.arc ${WORKDIR}/files/Layout/easyPairing/easyPairing.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/extensionControllerNunchuk.arc ${WORKDIR}/files/Layout/extensionControllerNunchuk/extensionControllerNunchuk.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/extensionControllerYokomochi.arc ${WORKDIR}/files/Layout/extensionControllerYokomochi/extensionControllerYokomochi.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/fileSelectBase.arc ${WORKDIR}/files/Layout/fileSelectBase/fileSelectBase.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/fileSelectBase_OLD.arc ${WORKDIR}/files/Layout/fileSelectBase/fileSelectBase_OLD.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/fileSelectPlayer.arc ${WORKDIR}/files/Layout/fileSelectPlayer/fileSelectPlayer.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/gameScene.arc ${WORKDIR}/files/Layout/gameScene/gameScene.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/infoWindow.arc ${WORKDIR}/files/Layout/infoWindow/infoWindow.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/miniGameCannon.arc ${WORKDIR}/files/Layout/miniGameCannon/miniGameCannon.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/miniGameWire.arc ${WORKDIR}/files/Layout/miniGameWire/miniGameWire.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/pauseMenu.arc ${WORKDIR}/files/Layout/pauseMenu/pauseMenu.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/pointResultDateFile.arc ${WORKDIR}/files/Layout/pointResultDateFile/pointResultDateFile.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/pointResultDateFileFree.arc ${WORKDIR}/files/Layout/pointResultDateFileFree/pointResultDateFileFree.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/preGame.arc ${WORKDIR}/files/Layout/preGame/preGame.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/select_cursor.arc ${WORKDIR}/files/Layout/select_cursor/select_cursor.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/sequenceBG.arc ${WORKDIR}/files/Layout/sequenceBG/sequenceBG.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/staffCredit.arc ${WORKDIR}/files/Layout/staffCredit/staffCredit.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/stockItem.arc ${WORKDIR}/files/Layout/stockItem/stockItem.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/stockItemShadow.arc ${WORKDIR}/files/Layout/stockItemShadow/stockItemShadow.arc
|
||||
cp "${RIIVOLUTION_DIR}"/Others/yesnoWindow.arc ${WORKDIR}/files/Layout/yesnoWindow/yesnoWindow.arc
|
||||
cp -r "${RIIVOLUTION_DIR}"/Maps/* ${WORKDIR}/files/Maps/
|
||||
cp "${RIIVOLUTION_DIR}"/Stages/* ${WORKDIR}/files/Stage/
|
||||
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
WORKDIR=nsmb.d
|
||||
DOL=${WORKDIR}/sys/main.dol
|
||||
DOWNLOAD_LINK="https://www.dropbox.com/s/rvuwd8ztl44g18y/NSMBW3_The%20final%20levels.zip"
|
||||
DOWNLOAD_LINK="https://www.dropbox.com/s/f7x8evfrc07bcbw/NSMBW%203%20The%20Final%20Levels.zip"
|
||||
RIIVOLUTION_ZIP="NSMBW3_The final levels.zip"
|
||||
RIIVOLUTION_DIR="NSMBW3"
|
||||
GAMENAME="NSMBW3: The Final Levels"
|
||||
@ -54,7 +54,7 @@ place_files () {
|
||||
EUR* )
|
||||
LANGDIRS=( EngEU FraEU GerEU ItaEU SpaEU NedEU )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/EU/EngEU/{Message,Layout} ${WORKDIR}/files/EU/${dir}/
|
||||
cp -r "${RIIVOLUTION_DIR}"/EU/EngEU/Message ${WORKDIR}/files/EU/${dir}/
|
||||
done
|
||||
cp "${RIIVOLUTION_DIR}"/EU/Layout/openingtitle/* ${WORKDIR}/files/EU/Layout/openingTitle/openingTitle.arc
|
||||
;;
|
||||
@ -62,12 +62,12 @@ place_files () {
|
||||
USAv* )
|
||||
LANGDIRS=( FraUS EngUS SpaUS )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/EU/EngEU/{Message,Layout} ${WORKDIR}/files/US/${dir}/
|
||||
cp -r "${RIIVOLUTION_DIR}"/EU/EngEU/Message ${WORKDIR}/files/US/${dir}/
|
||||
done
|
||||
;;
|
||||
|
||||
JPNv1 )
|
||||
cp -r "${RIIVOLUTION_DIR}"/EU/EngEU/{Message,Layout} ${WORKDIR}/files/JP/
|
||||
cp -r "${RIIVOLUTION_DIR}"/EU/EngEU/Message ${WORKDIR}/files/JP/
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -43,11 +43,11 @@ place_files () {
|
||||
|
||||
case ${VERSION} in
|
||||
EURv* )
|
||||
${PATCHIMAGE_PATCH_DIR}/openingTitle_nsmbw4.arc ${WORKDIR}/files/EU/Layout/openingTitle/openingTitle.arc
|
||||
cp ${PATCHIMAGE_PATCH_DIR}/openingTitle_nsmbw4.arc ${WORKDIR}/files/EU/Layout/openingTitle/openingTitle.arc
|
||||
;;
|
||||
|
||||
USAv* )
|
||||
${PATCHIMAGE_PATCH_DIR}/openingTitle_nsmbw4.arc ${WORKDIR}/files/US/Layout/openingTitle/openingTitle.arc
|
||||
cp ${PATCHIMAGE_PATCH_DIR}/openingTitle_nsmbw4.arc ${WORKDIR}/files/US/Layout/openingTitle/openingTitle.arc
|
||||
;;
|
||||
|
||||
# JPNv* )
|
||||
|
@ -29,7 +29,7 @@ check_input_rom () {
|
||||
ROM=$(find . -name ${ROM_MASK} | sed -e 's,./,,')
|
||||
if [[ ${ROM} == "" ]]; then
|
||||
echo -e "error: could not find suitable ROM, specify using --rom"
|
||||
exit 1
|
||||
exit 15
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -49,7 +49,7 @@ place_files () {
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/US/EngUS/Message/ ${WORKDIR}/files/EU/${dir}/
|
||||
done
|
||||
cp patches/openingTitle_retromix.arc ${WORKDIR}/files/EU/Layout/openingTitle/openingTitle.arc
|
||||
cp ${PATCHIMAGE_PATCH_DIR}/openingTitle_retromix.arc ${WORKDIR}/files/EU/Layout/openingTitle/openingTitle.arc
|
||||
;;
|
||||
|
||||
USAv* )
|
||||
@ -57,7 +57,7 @@ place_files () {
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/US/EngUS/Message/ ${WORKDIR}/files/US/${dir}/
|
||||
done
|
||||
cp patches/openingTitle_retromix.arc ${WORKDIR}/files/US/Layout/openingTitle/openingTitle.arc
|
||||
cp ${PATCHIMAGE_PATCH_DIR}/openingTitle_retromix.arc ${WORKDIR}/files/US/Layout/openingTitle/openingTitle.arc
|
||||
;;
|
||||
|
||||
JPNv* )
|
||||
@ -74,6 +74,6 @@ place_files () {
|
||||
|
||||
dolpatch () {
|
||||
|
||||
echo
|
||||
echo -n
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user