mirror of
https://gitlab.com/Nanolx/patchimage.git
synced 2024-12-26 17:21:50 +01:00
add support for KoopaCountry
This commit is contained in:
parent
ddbe71d1f6
commit
71dc6ec665
BIN
patches/01-03.arc
Normal file
BIN
patches/01-03.arc
Normal file
Binary file not shown.
BIN
patches/08-01.arc
Normal file
BIN
patches/08-01.arc
Normal file
Binary file not shown.
30
patches/KoopaCountry-Loader.xml
Normal file
30
patches/KoopaCountry-Loader.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<memory offset="0x803482C0" value="480000F08015F870801AF710801CA7C0801CAAD0801CAC60801CAB40802B8E00802B90B080377F488042A72C802E1ACC455500008015F730801AF5D0801CA680801CA990801CAB20801CAA00802B8CC0802B8F7080377C488042A44C802E17DC555300008015F540801AF3E0801CA490801CA7A0801CA930801CA810802B8AD0802B8D80803779C88042A16C802E15EC4A5000002F4E657765725265732F53797374656D78785F782E62696E002F4E657765725265732F444C436F646578785F782E62696E002F4E657765725265732F444C52656C6F637378785F782E62696E000000000000000000000000000000009421FFA07C0802A69001006493E1005C93C1005893A1005438C000313CA0807660A58D50806500005463043E2C036DE14182003C2C036CA1418200402C036AB1418200442C0300144082032838C00032806500405463043E2C036DA1418200102C036C6141820014480003083FE0800063FF1804480000183FE0800063FF18344800000C3FE0800063FF18643C60800060631894388000104800036D3C608000606318AD480003613C608000606318C638800012480003513C60800060631D183C80800060841894819F00007D8903A64E8004213C60800060631894819F00087D8903A64E8004213880FFFF7C0320004182028438810008819F000C7D8903A64E800421388000017C032000408202A43C60800060631D348081003C819F00007D8903A64E8004218061003C3863001F546300343880002080BF002480A50000819F00187D8903A64E8004217C7E1B782C1E000041820268386100087FC4F37880A1003C38A5001F54A5003438C0000038E00002819F00107D8903A64E8004213C60800060631D67819F00007D8903A64E8004217FC3F378480004B93C60800060631D83819F00007D8903A64E8004217FC3F378809F002480840000819F001C7D8903A64E80042138610008819F00147D8903A64E8004213C60800060631D95819F00007D8903A64E8004213C608000606318AD819F00087D8903A64E80042138810008819F000C7D8903A64E8004218061003C3863001F546300343880002080BF002080A50000819F00187D8903A64E8004217C7D1B78386100087FA4EB7880A1003C38A5001F54A5003438C0000038E00002819F00107D8903A64E80042138610008819F00147D8903A64E8004213C60800060631DAD7FA4EB78819F00007D8903A64E8004213C608000606318C6819F00087D8903A64E80042138810008819F000C7D8903A64E8004218061003C3863001F546300343880002080BF002480A50000819F00187D8903A64E8004217C7E1B783C60800060631D95819F00007D8903A64E800421386100087FC4F37880A1003C38A5001F" />
|
||||
<memory offset="0x803486A8" value="54A5003438C0000038E00002819F00107D8903A64E8004213C60800060631DCD819F00007D8903A64E8004217FA3EB787FC4F378480003CD7FC3F378809F002480840000819F001C7D8903A64E80042138610008819F00147D8903A64E8004213C60800060631DD9819F00007D8903A64E80042148000078480000003C60800060631EB63C80800060841DEB3CA0800060A518943CC0800088E6000388C60007819F00287D8903A64E8004213C60800060631EB6480000183C60800060631E5B4800000C3C60800060631E897C651B783C60800060631D103C80800060841D14819F00047D8903A64E8004213860000183E1005C83C1005883A10054800100647C0803A6382100604E8000207C63221488BF002C98A3000088BF002D98A3000198C300034E800020FFFFFFFF00000000313A204C6F6164696E672073797374656D2066696C653A2025730A00323A2046696C65207375636365737366756C6C79206F70656E65642E2025642062797465732E2052656164696E672E2E2E0A00333A2046696C6520726561642E204E6F77207061746368696E670A00343A205061746368206170706C6965640A00353A204C6F6164696E672064796C696E6B20636F64650A00444C436F646520402025700A00363A204C6F6164696E672072656C6F63730A00373A204C696E6B696E670A00383A204861636B73206C6F61646564210A00464154414C204552524F523A2053797374656D2066696C65206E6F7420666F756E64206F6E2074686520646973632E0A536F6D657468696E67277320676F6E652077726F6E672E0A4D697373696E673A2025730A446973632076657273696F6E3A2025640A526567696F6E3A20256300464154414C204552524F523A2053797374656D2066696C6520636F756C64206E6F74206265206F70656E65642E00464154414C204552524F523A204661696C656420746F20616C6C6F63617465206D656D6F727920282564292E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009421FFE07C0802A69001002493E1001C93C1001893A100143BE3FFFC3BA000003BBDFFFF87DF00047C1EE800418200583FA080007FBDF0394182002087BF000493BE000057C300347C00186C7C0004AC7C001FAC4800002C7FC903A687DF00043BDEFFFC87BF000497BE000457C300347C00186C7C0004AC7C001FAC4200FFE84BFFFF9C7C0004AC4C00012C83A10014" />
|
||||
<memory offset="0x80348A90" value="83C1001883E1001C800100247C0803A6382100204E800020816400087D645A143884000C480000B080A4000080E400043884000854A611BA54A5463E7CCB302E54C80FFF408200087CC3321454E80FFF408200087CE33A142C050001418200282C050004418200282C050005418200282C0500064182002C2C05000A418200384800004890C7000048000040B0C700004800003854C6843EB0C700004800002C54C88FFE54C6843E7CC64214B0C70000480000187D273050552901BE810700007D084B78910700007C00386C7C0004AC7C003FAC7C0458004180FF507C0004AC4C00012C4E8000200000000000000000000000000000000000000000000000005465616D4441524B77757A486572652100000000000000000000000000000000" />
|
||||
<memory offset="0x8034841F" value="3463FF82C4" />
|
||||
<memory offset="0x8034842B" value="3463FF82F4" />
|
||||
<memory offset="0x80348437" value="3463FF8324" />
|
||||
<memory offset="0x8034843F" value="3460638354" />
|
||||
<memory offset="0x8034844F" value="346063836D" />
|
||||
<memory offset="0x8034845B" value="3460638386" />
|
||||
<memory offset="0x8034846B" value="34606387D8" />
|
||||
<memory offset="0x80348473" value="3460848354" />
|
||||
<memory offset="0x80348487" value="3460638354" />
|
||||
<memory offset="0x803484C3" value="34606387F4" />
|
||||
<memory offset="0x80348533" value="3460638827" />
|
||||
<memory offset="0x8034854F" value="3460638843" />
|
||||
<memory offset="0x8034858B" value="3460638855" />
|
||||
<memory offset="0x8034859F" value="346063836D" />
|
||||
<memory offset="0x80348623" value="346063886D" />
|
||||
<memory offset="0x8034863B" value="3460638386" />
|
||||
<memory offset="0x80348687" value="3460638855" />
|
||||
<memory offset="0x803486C3" value="346063888D" />
|
||||
<memory offset="0x8034870B" value="3460638899" />
|
||||
<memory offset="0x80348727" value="3460638976" />
|
||||
<memory offset="0x8034872F" value="34608488AB" />
|
||||
<memory offset="0x80348737" value="3460A58354" />
|
||||
<memory offset="0x80348757" value="3460638976" />
|
||||
<memory offset="0x80348763" value="346063891B" />
|
||||
<memory offset="0x8034876F" value="3460638949" />
|
||||
<memory offset="0x8034877B" value="34606387D0" />
|
||||
<memory offset="0x80348783" value="34608487D4" />
|
141
script.d/koopacountry.sh
Normal file
141
script.d/koopacountry.sh
Normal file
@ -0,0 +1,141 @@
|
||||
#!/bin/bash
|
||||
|
||||
WORKDIR=nsmb.d
|
||||
DOL=${WORKDIR}/sys/main.dol
|
||||
#DOWNLOAD_LINK="http://rvlution.net/forums/viewtopic.php?f=53&t=1352"
|
||||
RIIVOLUTION_ZIP="Koopa country.rar"
|
||||
RIIVOLUTION_DIR="."
|
||||
GAMENAME="Koopa Country"
|
||||
XML_SOURCE="${RIIVOLUTION_DIR}"/Koopa
|
||||
XML_FILE="${RIIVOLUTION_DIR}"/riivolution/KoopaP.xml
|
||||
GAME_TYPE=RIIVOLUTION
|
||||
BANNER_LOCATION=${WORKDIR}/files/opening.bnr
|
||||
|
||||
show_notes () {
|
||||
|
||||
echo -e \
|
||||
"************************************************
|
||||
${GAMENAME}
|
||||
|
||||
Traverse through 13 new levels as you stop the evil king bowser
|
||||
and his deadly invasion from taking over the mushroom kingdom,
|
||||
sugar star forest and dear ol' Yoshi's island...
|
||||
|
||||
Take on the koopa kids and bowser himself in even more difficult
|
||||
battles than before! And lastly, dont forget to save your power
|
||||
ups because toad houses are something you wont see many of in
|
||||
this adventure! oh...and wasn't there something on the top
|
||||
floor of the castle?
|
||||
|
||||
Source: http://rvlution.net/forums/viewtopic.php?f=53&t=1352
|
||||
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}09
|
||||
|
||||
}
|
||||
|
||||
place_files () {
|
||||
|
||||
NEW_DIRS=( ${WORKDIR}/files/NewerRes ${WORKDIR}/files/EU/NedEU )
|
||||
for dir in ${NEW_DIRS[@]}; do
|
||||
mkdir -p ${dir}
|
||||
done
|
||||
|
||||
cp -r "${RIIVOLUTION_DIR}"/Koopa/EU/EngEU/{m,M}essage
|
||||
|
||||
case ${VERSION} in
|
||||
EUR* )
|
||||
LANGDIRS=( EngEU FraEU GerEU ItaEU SpaEU NedEU )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/Koopa/EU/EngEU/Message/ ${WORKDIR}/files/EU/${dir}/
|
||||
done
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/OpeningP/* ${WORKDIR}/files/EU/Layout/openingTitle/
|
||||
;;
|
||||
|
||||
USAv* )
|
||||
LANGDIRS=( FraUS EngUS SpaUS )
|
||||
for dir in ${LANGDIRS[@]}; do
|
||||
cp -r "${RIIVOLUTION_DIR}"/Koopa/EU/EngEU/Message/ ${WORKDIR}/files/US/${dir}/
|
||||
done
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/OpeningE/* ${WORKDIR}/files/US/Layout/openingTitle/
|
||||
;;
|
||||
|
||||
JPNv1 )
|
||||
cp -r "${RIIVOLUTION_DIR}"/Koopa/EU/EngEU/Message/ ${WORKDIR}/files/JP/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/OpeningJ/* ${WORKDIR}/files/JP/Layout/openingTitle/
|
||||
;;
|
||||
esac
|
||||
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/Stage/Texture/* ${WORKDIR}/files/Stage/Texture/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/NewerRes/* ${WORKDIR}/files/NewerRes/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/Stage/*.arc ${WORKDIR}/files/Stage/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/Env/* ${WORKDIR}/files/Env/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/sound/stream/* ${WORKDIR}/files/Sound/stream/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/sound/*.brsar ${WORKDIR}/files/Sound/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/WorldMap/* ${WORKDIR}/files/WorldMap/
|
||||
cp "${RIIVOLUTION_DIR}"/Koopa/Object/* ${WORKDIR}/files/Object/
|
||||
cp -r "${RIIVOLUTION_DIR}"/Koopa/Layout/preGame.arc ${WORKDIR}/files/Layout/preGame/
|
||||
# fixes
|
||||
cp patches/01-03.arc ${WORKDIR}/files/Stage/
|
||||
cp patches/08-01.arc ${WORKDIR}/files/Stage/
|
||||
|
||||
}
|
||||
|
||||
|
||||
dolpatch() {
|
||||
|
||||
cp "${XML_FILE}" "${XML_FILE}".new
|
||||
sed -e 's/80001800/803482C0/g' -i "${XML_FILE}".new
|
||||
XML_FILE="${XML_FILE}".new
|
||||
|
||||
${WIT} dolpatch ${DOL} xml="${XML_FILE}" -s "${XML_SOURCE}" \
|
||||
"802F148C=53756D6D53756E#7769696D6A3264" \
|
||||
"802F118C=53756D6D53756E#7769696D6A3264" \
|
||||
"802F0F8C=53756D6D53756E#7769696D6A3264" \
|
||||
xml="patches/KoopaCountry-Loader.xml" -q
|
||||
|
||||
${WIT} dolpatch ${DOL} xml="patches/NSMBW_AP.xml" -q
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user