mirror of
https://gitlab.com/Nanolx/patchimage.git
synced 2024-12-26 17:21:50 +01:00
more work in NSMBW characters exchange (not yet tested)
This commit is contained in:
parent
173cf2bad0
commit
57964240d5
@ -250,7 +250,7 @@ check_input_image_mkwiimm () {
|
||||
|
||||
}
|
||||
|
||||
show_nsmbw_db () {
|
||||
show_nsmb_db () {
|
||||
|
||||
ID=${1:0:6}
|
||||
gawk -F \: "/^${ID}/"'{print $2}' \
|
||||
@ -282,7 +282,7 @@ ask_input_image_mkwiimm () {
|
||||
|
||||
}
|
||||
|
||||
ask_input_image_nsmbw () {
|
||||
ask_input_image_nsmb () {
|
||||
|
||||
echo "Choose New Super Mario Bros. Wii Image to modify
|
||||
|
||||
@ -290,7 +290,7 @@ ask_input_image_nsmbw () {
|
||||
|
||||
for image in ${1}/MSN???.{iso,wbfs}; do
|
||||
if [[ -e ${image} ]]; then
|
||||
echo " ${image##*/} $(show_nsmbw_db ${image##*/})"
|
||||
echo " ${image##*/} $(show_nsmb_db ${image##*/})"
|
||||
fi
|
||||
done
|
||||
|
||||
|
101
script.d/nsmbw_characters.sh
Normal file
101
script.d/nsmbw_characters.sh
Normal file
@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
|
||||
GAME_TYPE="WII_GENERIC"
|
||||
GAME_NAME="New Super Mario Bros. Wii"
|
||||
ITEMS_BASE="http://riivolution.nanolx.org/nsmbw_characters"
|
||||
|
||||
show_notes () {
|
||||
|
||||
echo -e \
|
||||
"************************************************
|
||||
${GAME_NAME}
|
||||
|
||||
Custom New Super Mario Bros. Wii
|
||||
|
||||
Source: Various
|
||||
Base Image: New Super Mario Bros. Wii (SMN?01)
|
||||
Supported Versions: EUR, JAP, USA
|
||||
************************************************"
|
||||
|
||||
}
|
||||
|
||||
check_input_image_special () {
|
||||
|
||||
check_input_image_nsmb
|
||||
ask_input_image_nsmb ${IMAGE%/*}
|
||||
echo -e "type SMN???.wbfs:\n"
|
||||
read ID
|
||||
|
||||
if [[ ! -f ${IMAGE%/*}/${ID} ]]; then
|
||||
echo "wrong id from user-input given."
|
||||
exit 75
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
pi_action () {
|
||||
|
||||
check_input_image_special
|
||||
|
||||
if [[ -f ${HOME}/.patchimage.choice ]]; then
|
||||
echo "Your choices from last time can be re-used."
|
||||
echo "y (yes) or n (no)"
|
||||
read choice
|
||||
|
||||
if [[ ${choice} == y ]]; then
|
||||
source ${HOME}/.patchimage.choice
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${choosenplayers[@]} == "" ]]; then
|
||||
echo -e "Choose a Player to add to the game\n"
|
||||
|
||||
gawk -F \: '{print $1 "\t\t" $2 "\t\t" $3}' < ${PATCHIMAGE_SCRIPT_DIR}/nsmbw_characters.db
|
||||
|
||||
echo -e "\ntype ???.arc (only one per slot (second column) possible, space separated)"
|
||||
read PLAYERS
|
||||
|
||||
for player in ${PLAYERS[@]}; do
|
||||
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/nsmbw_player_${player} ]]; then
|
||||
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/nsmbw_player_${player} \
|
||||
${ITEMS_BASE}/${player} &>/dev/null \
|
||||
|| (echo "download of ${player} failed." \
|
||||
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${player} \
|
||||
&& exit 57)
|
||||
fi
|
||||
slot=$(gawk -F \: "/^${player}/"'{print $2}' ${PATCHIMAGE_SCRIPT_DIR}/nsmbw_characters.db)
|
||||
choosenplayers=( ${choosenplayers[@]} player:${slot} )
|
||||
done
|
||||
|
||||
|
||||
echo ${choosenplayers[@]}
|
||||
echo "choosenplayers=( ${choosenplayers[@]} )" > ${HOME}/.patchimage.choice
|
||||
fi
|
||||
|
||||
rm -rf workdir
|
||||
|
||||
echo -e "\n*** 3) extracting image"
|
||||
${WIT} extract ${IMAGE%/*}/${ID} --psel=data -d workdir -q || exit 51
|
||||
|
||||
for backup in Mario.arc Luigi.arc Kinopio.arc koopa.arc; do
|
||||
if [[ ! -f "${PATCHIMAGE_RIIVOLUTION_DIR}/${backup}" ]]; then
|
||||
echo "*** 4) first run, backing up original: ${backup}"
|
||||
cp workdir/files/Object/${backup} "${PATCHIMAGE_RIIVOLUTION_DIR}"
|
||||
else
|
||||
echo "*** 4) restoring original: ${backup}"
|
||||
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/${backup} workdir/files/Object/
|
||||
fi
|
||||
done
|
||||
|
||||
echo "*** 5) replacing characters"
|
||||
for player in ${choosenplayers[@]}; do
|
||||
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/nsmbw_player_${player/:*} \
|
||||
workdir/files/Object/${player/*:}
|
||||
done
|
||||
|
||||
echo "*** 6) rebuilding game"
|
||||
echo " (storing game in ${PATCHIMAGE_GAME_DIR}/${ID})"
|
||||
${WIT} cp -o -q -B workdir ${PATCHIMAGE_GAME_DIR}/${ID} || exit 51
|
||||
|
||||
rm -rf workdir
|
||||
}
|
Loading…
Reference in New Issue
Block a user