From 313ec91026f265592ec8d6bf058351945dfbbc9c Mon Sep 17 00:00:00 2001 From: Christopher Roy Bratusek Date: Sun, 7 Aug 2016 20:25:21 +0200 Subject: [PATCH] add support for MLG Super Luigi Bros. Wii --- ChangeLog | 8 ++ README.GAMEIDS | 1 + patchimage.sh | 4 + scripts/common.sh | 1 + scripts/nsmbw/mlgsuperluigibroswii.sh | 117 ++++++++++++++++++++++++++ 5 files changed, 131 insertions(+) create mode 100644 scripts/nsmbw/mlgsuperluigibroswii.sh diff --git a/ChangeLog b/ChangeLog index 1430171..51772ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,14 @@ v7.1.0: - fixup The Legend of Zelda - Parallel Worlds patcher - fixup --patch command line parameter +::misc. changes +- removed download link for Awesomer Super Luigi Mini (down) + +::game additions + +:::New Super Mario Bros. Wii +- add support for MLG Super Luigi Bros. Wii + v7.0.0: ::internal changes - add PATCHIMAGE_DIR new internal variable diff --git a/README.GAMEIDS b/README.GAMEIDS index 0beffec..2a589f6 100644 --- a/README.GAMEIDS +++ b/README.GAMEIDS @@ -12,6 +12,7 @@ b) ${PATCHIMAGE_WBFS_DIR} a) SMN?01.iso b) SMN?01.wbfs +SLB?01 MLG Super Luigi Bros. Wii SLF?01 NSMBW3: The Final Levels SMN?03 Newer Super Mario Bros. Wii SMN?04 Canon Super Mario Bros. Wii diff --git a/patchimage.sh b/patchimage.sh index d070278..25c193e 100755 --- a/patchimage.sh +++ b/patchimage.sh @@ -322,6 +322,10 @@ for game in ${GAME[@]}; do source "${PATCHIMAGE_SCRIPT_DIR}/nsmbw/revisedsupermariobroswii.sh" ;; + NSMB27 | MLGSuperLuigi ) + source "${PATCHIMAGE_SCRIPT_DIR}/nsmbw/mlgsuperluigibroswii.sh" + ;; + NSMB99 | NSMBWCharacters ) source "${PATCHIMAGE_SCRIPT_DIR}/nsmbw/nsmbw_characters.sh" ;; diff --git a/scripts/common.sh b/scripts/common.sh index 8b31ccc..88e30a0 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -56,6 +56,7 @@ NSMB23 TheLegendOfYoshi The Legend of Yoshi NSMB24 RemixedSuperMarioBros Remixed Super Mario Bros. Wii NSMB25 GhostlySuperGhostBoos Ghostly Super Ghost Boos. Wii NSMB26 RevisedSuperMarioBros Revised Super Mario Bros. Wii +NSMB27 MLGSuperLuigi MLG Super Luigi Bros. Wii NSMB99 NSMBWCharacters Customize Characters diff --git a/scripts/nsmbw/mlgsuperluigibroswii.sh b/scripts/nsmbw/mlgsuperluigibroswii.sh new file mode 100644 index 0000000..0a9ee2d --- /dev/null +++ b/scripts/nsmbw/mlgsuperluigibroswii.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +WORKDIR=nsmb.d +DOL=${WORKDIR}/sys/main.dol +DOWNLOAD_LINK="http://www.mediafire.com/download/wsob4c27urgkl62/MLGLuigiWii.zip" +RIIVOLUTION_ZIP="MLGLuigiWii.zip" +RIIVOLUTION_DIR="MLGLuigiWii/MLGLuigi" +GAMENAME="MLG Super Luigi Wii" +XML_SOURCE="${RIIVOLUTION_DIR}" +XML_FILE="${RIIVOLUTION_DIR}"/../riivolution/MLGLuigiE.xml +GAME_TYPE=RIIVOLUTION +BANNER_LOCATION=${WORKDIR}/files/opening.bnr +WBFS_MASK="SMN[PUJ]01" + +show_notes () { + +echo -e \ +"************************************************ +${GAMENAME} + +Story: As soon as Mario, Luigi, and their friends arrived with Peach safe and +sound from destroying Bowser’s world they saw all the way back in World 6 a rift +opening up. Then on World 1 a rift opened up and sucked up both Mario and Peach. + +From there a wild void spread through the land changing the layouts and worlds +as everyone knows it. Now its up to Luigi to save Mario and Peach. + +Along with a new friend. + +This hacks includes: + * 3 remodeled worlds with brand new themes. + * 1 reused tileset from an old hack everyone loves (ESBW) + * Minecraft tileset + * Play as MLG Luigi as P1 and Void Luigi (P2,3,4) + * Retextured sprites and objects + * Along with collecting star coins. Can you find the secret keys in each level? + * Tons of brand new levels and challenges as well + * Remakes of old school levels + +Source: http://rvlution.net/thread/4538-mlg-super-luigi-bros-wii/ +Base Image: New Super Mario Bros. Wii (SMN?01) +Supported Versions: EURv1, EURv2, USAv1, USAv2, JPNv1 +************************************************" + +} + +detect_game_version () { + + nsmbw_version + GAMEID=SLB${REG_LETTER}01 + +} + +place_files () { + + NEW_DIRS=( "${WORKDIR}"/files/EU/NedEU/{Message,staffroll,Font} + "${WORKDIR}"/files/EU/PolEU/{Message,staffroll,Font} + "${WORKDIR}"/files/NewerRes ) + 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}"/EU/EngEU/message/Message.arc "${WORKDIR}"/files/EU/"${dir}"/Message/Message.arc + cp "${RIIVOLUTION_DIR}"/EU/EngEU/staffroll/staffroll.bin "${WORKDIR}"/files/EU/"${dir}"/staffroll/staffroll.bin + cp "${RIIVOLUTION_DIR}"/Font/* "${WORKDIR}"/files/EU/"${dir}"/Font/ + done + cp -r "${RIIVOLUTION_DIR}"/OpeningE/openingTitle.arc "${WORKDIR}"/files/EU/Layout/openingTitle/ + ;; + + USAv* ) + LANGDIRS=( FraUS EngUS SpaUS ) + for dir in "${LANGDIRS[@]}"; do + cp "${RIIVOLUTION_DIR}"/EU/EngEU/message/Message.arc "${WORKDIR}"/files/US/"${dir}"/Message/Message.arc + cp "${RIIVOLUTION_DIR}"/EU/EngEU/staffroll/staffroll.bin "${WORKDIR}"/files/US/"${dir}"/staffroll/staffroll.bin + cp "${RIIVOLUTION_DIR}"/Font/* "${WORKDIR}"/files/US/"${dir}"/Font/ + done + #cp -r "${RIIVOLUTION_DIR}"/OpeningE/openingTitle.arc "${WORKDIR}"/files/US/Layout/openingTitle/ + ;; + + JPNv1 ) + cp "${RIIVOLUTION_DIR}"/EU/EngEU/message/Message.arc "${WORKDIR}"/files/JP/Message/Message.arc + cp "${RIIVOLUTION_DIR}"/EU/EngEU/staffroll/staffroll.bin "${WORKDIR}"/files/JP/staffroll/staffroll.bin + cp "${RIIVOLUTION_DIR}"/Font/* "${WORKDIR}"/files/JP/Font/ + #cp -r "${RIIVOLUTION_DIR}"/OpeningE/openingTitle.arc "${WORKDIR}"/files/JP/Layout/openingTitle/ + ;; + esac + + cp "${RIIVOLUTION_DIR}"/Env/* "${WORKDIR}"/files/Env/ + cp -r "${RIIVOLUTION_DIR}"/Layout/* "${WORKDIR}"/files/Layout/ + cp "${RIIVOLUTION_DIR}"/MovieDemo/* "${WORKDIR}"/files/MovieDemo/ + cp -r "${RIIVOLUTION_DIR}"/NewerRes/* "${WORKDIR}"/files/NewerRes/ + cp "${RIIVOLUTION_DIR}"/Object/* "${WORKDIR}"/files/Object/ + cp "${RIIVOLUTION_DIR}"/Sound/stream/*.brstm "${WORKDIR}"/files/Sound/stream/ + cp "${RIIVOLUTION_DIR}"/Sound/*.brsar "${WORKDIR}"/files/Sound/ + cp "${RIIVOLUTION_DIR}"/Stage/*.arc "${WORKDIR}"/files/Stage/ + cp "${RIIVOLUTION_DIR}"/Stage/Texture/* "${WORKDIR}"/files/Stage/Texture/ + cp "${RIIVOLUTION_DIR}"/WorldMap/* "${WORKDIR}"/files/WorldMap/ + +} + + +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}" \ + xml="${PATCHIMAGE_PATCH_DIR}/NewerSMBW-Loader.xml" -q + ${WIT} dolpatch ${DOL} xml="${PATCHIMAGE_PATCH_DIR}/NSMBW_AP.xml" -q + +} +