add support for new super mario bros. 4

This commit is contained in:
Christopher Roy Bratusek 2013-07-06 18:25:11 +02:00
parent e871ac1655
commit bd680b3164
7 changed files with 115 additions and 7 deletions

View File

@ -1,3 +1,7 @@
v2.3:
- add support for New Super Mario Bros. 4
- fixed building JPN version of NewerHoliday
v2.2: v2.2:
- change ID for Koopa Country to SMN?10 - change ID for Koopa Country to SMN?10
- fix handling .rar files for riivolution patches - fix handling .rar files for riivolution patches

View File

@ -10,3 +10,4 @@ SMN?07 Newer Holiday Special
SMN?08 Epic Super Bowser World SMN?08 Epic Super Bowser World
SMN?09 ? SMN?09 ?
SMN?10 Koopa Country SMN?10 Koopa Country
SMN?11 New Super Mario Bros. 4

3
README
View File

@ -20,7 +20,8 @@ Supported Games
* Newer Summer Sun (riivolution) [SMN?06] * Newer Summer Sun (riivolution) [SMN?06]
* Newer Holiday Special (riivolution) [SMN?07] * Newer Holiday Special (riivolution) [SMN?07]
* Epic Super Bower World (riivolution) [SMN?08] * Epic Super Bower World (riivolution) [SMN?08]
* Koopa Country (riivolution) [SMN?09] * Koopa Country (riivolution) [SMN?10]
* New Super Mario Bros. 4 (riivolution) [SMN?11]
* The Legend of Zelda: Parallel Worlds (ips) * The Legend of Zelda: Parallel Worlds (ips)
Default Searchpaths: Default Searchpaths:

BIN
patches/05-04.arc Normal file

Binary file not shown.

View File

@ -45,6 +45,10 @@ case ${GAME} in
source script.d/koopacountry.sh source script.d/koopacountry.sh
;; ;;
h | H | NSMB4 | "New Super Mario Bros. 4" )
source script.d/nsmbw4.sh
;;
1 | ParallelWorlds | "The Legend of Zelda: Parallel Worlds" ) 1 | ParallelWorlds | "The Legend of Zelda: Parallel Worlds" )
source script.d/parallelworlds.sh source script.d/parallelworlds.sh
;; ;;

View File

@ -3,7 +3,8 @@
TMD_OPTS="--tt-id=K" TMD_OPTS="--tt-id=K"
TMP_FILES=(Another nsmb.d XmasNewer NewerFiles "Newer*Summer*Sun" \ TMP_FILES=(Another nsmb.d XmasNewer NewerFiles "Newer*Summer*Sun" \
ZPW_1.1.ips Epic_Super_Bowser_World_v1.00 Riivolution Koopa \ ZPW_1.1.ips Epic_Super_Bowser_World_v1.00 Riivolution Koopa \
Cannon_Super_Mario_Bros._Wii_v1.1 riivolution "Readme*" "*.txt" "*.rtf" ) Cannon_Super_Mario_Bros._Wii_v1.1 riivolution "Readme*" "*.txt" "*.rtf" \
"*.dol" "*.elf" nsmb)
setup_tools () { setup_tools () {
@ -27,10 +28,6 @@ cleanup () {
ask_game () { ask_game () {
# ####
# E: preserved for Canon SMBW
# ###
echo -e \ echo -e \
"************************************************ "************************************************
patchimage.sh patchimage.sh
@ -43,6 +40,7 @@ D Newer: Holiday Special
E Cannon Super Mario Bros. E Cannon Super Mario Bros.
F Epic Super Bowser World F Epic Super Bowser World
G Koopa Country G Koopa Country
H New Super Mario Bros. 4
1 The Legend of Zelda: Parallel Worlds 1 The Legend of Zelda: Parallel Worlds
" "

100
script.d/nsmbw4.sh Normal file
View File

@ -0,0 +1,100 @@
#!/bin/bash
WORKDIR=nsmb.d
DOL=${WORKDIR}/sys/main.dol
DOWNLOAD_LINK="http://nanolx.org/riivolution/New%20Super%20Mario%20Bros.%20Wii%204%20made%20by%20Orange-Yoshi3.3.zip"
RIIVOLUTION_ZIP="New Super Mario Bros. Wii 4 made by Orange-Yoshi3.3.zip"
RIIVOLUTION_DIR="nsmb"
GAMENAME="New Super Mario Bros. 4"
GAME_TYPE=RIIVOLUTION
BANNER_LOCATION=${WORKDIR}/files/opening.bnr
show_notes () {
echo -e \
"************************************************
${GAMENAME}
This hack includes 16 new levels in 4 worlds (1, 5, 8 & 9) as well as a
new titlescreen with logo (made by max31) and custom music.
Source: http://www.rvlution.net/forums/viewtopic.php?f=53&t=1501
Base Image: New Super Mario Bros. Wii (SMN?01)
Supported Versions: EURv1, EURv2, USAv1, USAv2, JPNv1
************************************************"
}
check_input_image_special () {
if [[ ! ${IMAGE} ]]; then
if test -f SMN?01.wbfs; then
IMAGE=SMN?01.wbfs
elif test -f SMN?01.iso; then
IMAGE=SMN?01.iso
else
echo -e "please specify image to use with --iso=<path>"
exit 1
fi
fi
}
detect_game_version () {
if [[ -f ${WORKDIR}/files/COPYDATE_LAST_2009-10-03_232911 ]]; then
VERSION=EURv1
REG_LETTER=P
elif [[ -f ${WORKDIR}/files/COPYDATE_LAST_2010-01-05_152101 ]]; then
VERSION=EURv2
REG_LETTER=P
elif [[ -f ${WORKDIR}/files/COPYDATE_LAST_2009-10-03_232303 ]]; then
VERSION=USAv1
REG_LETTER=E
elif [[ -f ${WORKDIR}/files/COPYDATE_LAST_2010-01-05_143554 ]]; then
VERSION=USAv2
REG_LETTER=E
elif [[ -f ${WORKDIR}/files/COPYDATE_LAST_2009-10-03_231655 ]]; then
VERSION=JPNv1
REG_LETTER=J
elif [[ ! ${VERSION} ]]; then
echo -e "please specify your games version using --version={EURv1,EURv2,USAv1,USAv2,JPNv1}"
exit 1
fi
GAMEID=SMN${REG_LETTER}11
}
place_files () {
case ${VERSION} in
EURv* )
cp "${RIIVOLUTION_DIR}"/openingTitle.arc ${WORKDIR}/files/EU/Layout/openingTitle/
;;
USAv* )
cp "${RIIVOLUTION_DIR}"/openingTitle.arc ${WORKDIR}/files/US/Layout/openingTitle/
;;
JPNv* )
cp "${RIIVOLUTION_DIR}"/openingTitle.arc ${WORKDIR}/files/JP/Layout/openingTitle/
;;
esac
cp "${RIIVOLUTION_DIR}"/*.brstm ${WORKDIR}/files/Sound/stream/
cp "${RIIVOLUTION_DIR}"/0*.arc ${WORKDIR}/files/Stage/
cp "${RIIVOLUTION_DIR}"/*.brsar ${WORKDIR}/files/Sound/
cp "${RIIVOLUTION_DIR}"/bgA*.arc ${WORKDIR}/files/Object/
# fix
cp patches/05-04.arc ${WORKDIR}/files/Stage/
}
dolpatch () {
${WIT} dolpatch ${DOL} xml="patches/NSMBW_AP.xml" -q
}