mirror of
https://gitlab.com/Nanolx/patchimage.git
synced 2024-11-30 21:14:24 +01:00
add ability to change karts in MKWiimm
This commit is contained in:
parent
71279d3ae6
commit
a73b95ac9c
13
ChangeLog
13
ChangeLog
@ -1,7 +1,20 @@
|
|||||||
v5.4.0:
|
v5.4.0:
|
||||||
|
- update wit to version 2.31a
|
||||||
|
- update szs to version 1.39a
|
||||||
- add support for MKWiimm 2015-03
|
- add support for MKWiimm 2015-03
|
||||||
|
- add support for replacing karts in MKWiimm
|
||||||
|
No vehicles were harmed during the making of this feature
|
||||||
- add support for SMN?41 (Devil Mario Winter Special)
|
- add support for SMN?41 (Devil Mario Winter Special)
|
||||||
- add support for SMN?31 (New Super Mario Bros. Wii - Other World)
|
- add support for SMN?31 (New Super Mario Bros. Wii - Other World)
|
||||||
|
- add MKWIIMM_OVERRIDE_SZS variable to patchimage.rc
|
||||||
|
if set to TRUE patchimage will override the supplied SZS tools
|
||||||
|
of the MKWiimm patcher with it's own version of the tools.
|
||||||
|
.
|
||||||
|
This is useful when the supplied ones don't work with your system's
|
||||||
|
libpng (usually this happens on Debian GNU/Linux).
|
||||||
|
.
|
||||||
|
If patching anything older than RMCP23 (pre-wiimmfi versions) the tools
|
||||||
|
will always be overriden (because they are ancient).
|
||||||
|
|
||||||
v5.3.0:
|
v5.3.0:
|
||||||
- update wit to 2.30a
|
- update wit to 2.30a
|
||||||
|
@ -54,3 +54,6 @@ MKWIIMM_MSG_LANG="de"
|
|||||||
# 1=ja (use own save, no sharing)
|
# 1=ja (use own save, no sharing)
|
||||||
# 2=nein (share save with original game)
|
# 2=nein (share save with original game)
|
||||||
MKWIIMM_OWN_SAVE="1=ja"
|
MKWIIMM_OWN_SAVE="1=ja"
|
||||||
|
|
||||||
|
# override szs tools
|
||||||
|
MKWIIMM_OVERRIDE_SZS="TRUE"
|
||||||
|
@ -147,6 +147,10 @@ case ${GAME} in
|
|||||||
source ${PATCHIMAGE_SCRIPT_DIR}/mkwiimm_fonts.sh
|
source ${PATCHIMAGE_SCRIPT_DIR}/mkwiimm_fonts.sh
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
MKW6 | MkwiimmKarts )
|
||||||
|
source ${PATCHIMAGE_SCRIPT_DIR}/mkwiimm_karts.sh
|
||||||
|
;;
|
||||||
|
|
||||||
KAW1 | Kirby )
|
KAW1 | Kirby )
|
||||||
source ${PATCHIMAGE_SCRIPT_DIR}/kirbywii.sh
|
source ${PATCHIMAGE_SCRIPT_DIR}/kirbywii.sh
|
||||||
;;
|
;;
|
||||||
|
@ -55,6 +55,7 @@ MKW2 Wiimfi Patcher. Patch WFC games to use Wiimm's server (exp)
|
|||||||
MKW3 Mario Kart Wiimm. Custom Mario Kart Distribution
|
MKW3 Mario Kart Wiimm. Custom Mario Kart Distribution
|
||||||
MKW4 Custom Items. Replace items in the game
|
MKW4 Custom Items. Replace items in the game
|
||||||
MKW5 Custom Font. Replace font in the game
|
MKW5 Custom Font. Replace font in the game
|
||||||
|
MKW6 Custom Karts. Replace characters in the game
|
||||||
|
|
||||||
<<<<<< Kirby's Adventure Wii >>>>>>
|
<<<<<< Kirby's Adventure Wii >>>>>>
|
||||||
KAW1 Change first player's character
|
KAW1 Change first player's character
|
||||||
|
@ -100,7 +100,9 @@ build_mkwiimm () {
|
|||||||
esac
|
esac
|
||||||
chmod +x *.sh
|
chmod +x *.sh
|
||||||
|
|
||||||
cp -r ${PATCHIMAGE_SCRIPT_DIR}/../override/* ${PWD}/bin/
|
if [[ ${MKWIIMM_OVERRIDE_SZS} == "TRUE" || ${ID} -lt 23 ]]; then
|
||||||
|
cp -r ${PATCHIMAGE_SCRIPT_DIR}/../override/* ${PWD}/bin/
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ${MKWIIMM_GAME_LANG} && ${MKWIIMM_MSG_LANG} && ${MKWIIMM_OWN_SAVE} ]]; then
|
if [[ ${MKWIIMM_GAME_LANG} && ${MKWIIMM_MSG_LANG} && ${MKWIIMM_OWN_SAVE} ]]; then
|
||||||
echo "LANGUAGE=${MKWIIMM_GAME_LANG}
|
echo "LANGUAGE=${MKWIIMM_GAME_LANG}
|
||||||
|
36
script.d/mkwiimm_characters.db
Normal file
36
script.d/mkwiimm_characters.db
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
-bds:Baby Daisy
|
||||||
|
-bk:Dry Bowser
|
||||||
|
-blg:Baby Luigi
|
||||||
|
-bmr:Baby Mario
|
||||||
|
-bpc:Baby Peach
|
||||||
|
-ca:Birdo
|
||||||
|
-dd:Diddy Kong
|
||||||
|
-dk:Donkey Kong
|
||||||
|
-ds:Daisy
|
||||||
|
-fk:Funky Kong
|
||||||
|
-jr:Bowser Jr.
|
||||||
|
-ka:Dry Bones
|
||||||
|
-kk:Toadette
|
||||||
|
-ko:Toad
|
||||||
|
-kp:Bowser
|
||||||
|
-kt:King Boo
|
||||||
|
-la_mii_f:Large Mii Outfit A (Female)
|
||||||
|
-la_mii_m:Large Mii Outfit A (Male)
|
||||||
|
-lb_mii_f:Large Mii Outfit B (Female)
|
||||||
|
-lb_mii_m:Large Mii Outfit B (Male)
|
||||||
|
-lg:Luigi
|
||||||
|
-ma_mii_f:Medium Mii Outfit A (Female)
|
||||||
|
-ma_mii_m:Medium Mii Outfit A (Male)
|
||||||
|
-mb_mii_f:Medium Outfit B (Female)
|
||||||
|
-mb_mii_m:Medium Mii Outfit B (Male)
|
||||||
|
-mr:Mario
|
||||||
|
-nk:Koopa Troopa
|
||||||
|
-pc:Peach
|
||||||
|
-rs:Rosalina
|
||||||
|
-sa_mii_f:Small Mii Outfit A (Female)
|
||||||
|
-sa_mii_m:Small Mii Outfit A (Male)
|
||||||
|
-sb_mii_f:Small Mii Outfit B (Female)
|
||||||
|
-sb_mii_m:Small Mii Outfit B (Male)
|
||||||
|
-wl:Waluigi
|
||||||
|
-wr:Wario
|
||||||
|
-ys:Yoshi
|
@ -46,8 +46,8 @@ orig Original Mario Kart Wii Font"
|
|||||||
read FONT
|
read FONT
|
||||||
|
|
||||||
if [[ ${FONT} != orig ]]; then
|
if [[ ${FONT} != orig ]]; then
|
||||||
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/${FONT} ]]; then
|
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_font_${FONT} ]]; then
|
||||||
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/${FONT} \
|
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_font_${FONT} \
|
||||||
${ITEMS_BASE}/${FONT} &>/dev/null \
|
${ITEMS_BASE}/${FONT} &>/dev/null \
|
||||||
|| (echo "download of ${FONT} failed." \
|
|| (echo "download of ${FONT} failed." \
|
||||||
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${FONT} \
|
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${FONT} \
|
||||||
@ -73,7 +73,7 @@ build_mkwiimm () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "*** 7) replacing font"
|
echo "*** 7) replacing font"
|
||||||
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/${FONT} workdir/${FSZS}
|
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/mkwiimm_font_${FONT} workdir/${FSZS}
|
||||||
|
|
||||||
echo "*** 8) rebuilding game"
|
echo "*** 8) rebuilding game"
|
||||||
echo " (storing game in ${PATCHIMAGE_GAME_DIR}/${ID})"
|
echo " (storing game in ${PATCHIMAGE_GAME_DIR}/${ID})"
|
||||||
|
@ -93,8 +93,8 @@ download_items () {
|
|||||||
|
|
||||||
for item in ${choosenitems[@]}; do
|
for item in ${choosenitems[@]}; do
|
||||||
id=${item/*:}
|
id=${item/*:}
|
||||||
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/${id} ]]; then
|
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${id} ]]; then
|
||||||
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/${id} \
|
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${id} \
|
||||||
${ITEMS_BASE}/${id} &>/dev/null \
|
${ITEMS_BASE}/${id} &>/dev/null \
|
||||||
|| (echo "download of ${id} failed." \
|
|| (echo "download of ${id} failed." \
|
||||||
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${id})
|
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${id})
|
||||||
@ -132,8 +132,8 @@ build_mkwiimm () {
|
|||||||
for item in ${choosenitems[@]}; do
|
for item in ${choosenitems[@]}; do
|
||||||
slot=${item/:*}
|
slot=${item/:*}
|
||||||
newi=${item/*:}
|
newi=${item/*:}
|
||||||
if [[ -f ${PATCHIMAGE_RIIVOLUTION_DIR}/${newi} ]]; then
|
if [[ -f ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${newi} ]]; then
|
||||||
cp ${PATCHIMAGE_RIIVOLUTION_DIR}/${newi} \
|
cp ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${newi} \
|
||||||
workdir/${CSZD}/${slot}
|
workdir/${CSZD}/${slot}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
14
script.d/mkwiimm_karts.db
Normal file
14
script.d/mkwiimm_karts.db
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
pbb.szs:Pikachu riding on Bullet Bike:Baoulettes
|
||||||
|
jof.szs:Jolteon on foot:XModxGodX
|
||||||
|
dbj.szs:Dry Bowser Junior on Mach Bike:ShadowLuigi-NG-
|
||||||
|
fmc.szs:Fox McCloud on Mach Bike:Baoulettes
|
||||||
|
jth.szs:Jet The Hawk on Type-J X-treme Gear:SonicBrawler
|
||||||
|
20p.szs:Flying Rainbow Dash:LeonExodio
|
||||||
|
ren.szs:Renamon on Dolphin Dasher:LuigiGalaxy530
|
||||||
|
sth.szs:Sonic The Hedgehog on foot:ShadowLuigi-NG-
|
||||||
|
btc.szs:Big The Cat on Flame Runner:MKDasher
|
||||||
|
cpt.szs:Captain Falcon on Flame Runner:LeonExodio, ShadowLuigi-NG-
|
||||||
|
dks.szs:Dark Schneider:Baoulettes
|
||||||
|
lin.szs:Link on Flame Runner:Baoulettes
|
||||||
|
luc.szs:Lucario on Spear:Baoulettes
|
||||||
|
mid.szs:Midna on Flame Runner:Baoulettes
|
131
script.d/mkwiimm_karts.sh
Normal file
131
script.d/mkwiimm_karts.sh
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
GAME_TYPE="MKWIIMM"
|
||||||
|
GAME_NAME="Mario Kart Wiimm"
|
||||||
|
ITEMS_BASE="http://riivolution.nanolx.org/mkwiimm_karts"
|
||||||
|
|
||||||
|
show_notes () {
|
||||||
|
|
||||||
|
echo -e \
|
||||||
|
"************************************************
|
||||||
|
${GAMENAME}
|
||||||
|
|
||||||
|
Custom Mario Kart Wii
|
||||||
|
|
||||||
|
Source: http://wiiki.wii-homebrew.com/Wiimms_Mario_Kart_Fun
|
||||||
|
Base Image: Mario Kart Wii (RMC?01)
|
||||||
|
Supported Versions: EUR, JAP, USA
|
||||||
|
************************************************"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
check_input_image_special () {
|
||||||
|
|
||||||
|
check_input_image_mkwiimm
|
||||||
|
ask_input_image_mkwiimm ${IMAGE%/*}
|
||||||
|
echo -e "type RMC???.wbfs:\n"
|
||||||
|
read ID
|
||||||
|
|
||||||
|
if [[ ! -f ${IMAGE%/*}/${ID} ]]; then
|
||||||
|
echo "wrong id from user-input given."
|
||||||
|
exit 75
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ask_slot () {
|
||||||
|
|
||||||
|
echo -e "\nFirst choose a vehicle to be replaced\n"
|
||||||
|
gawk -F \: '{print $1 "\t\t" $2}' < ${PATCHIMAGE_SCRIPT_DIR}/mkwiimm_vehicles.db
|
||||||
|
echo -e "\ntype in ??_??? as in first column\n"
|
||||||
|
read VEHICLE
|
||||||
|
|
||||||
|
echo -e "\nNow choose a character to be replaced\n"
|
||||||
|
gawk -F \: '{print $1 "\t\t" $2}' < ${PATCHIMAGE_SCRIPT_DIR}/mkwiimm_characters.db
|
||||||
|
echo -e "\ntype in -?? as in first column\n"
|
||||||
|
read CHARACTER
|
||||||
|
|
||||||
|
choosenkarts=( ${choosenkarts[@]} ${kart}:${VEHICLE}${CHARACTER} )
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
download_wiimm () {
|
||||||
|
|
||||||
|
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 [[ ${choosenkarts[@]} == "" ]]; then
|
||||||
|
echo -e "Choose a character to add to the game\n"
|
||||||
|
|
||||||
|
gawk -F \: '{print $1 "\t\t" $2}' < ${PATCHIMAGE_SCRIPT_DIR}/mkwiimm_karts.db
|
||||||
|
|
||||||
|
echo -e "\ntype ???.szs (multiple possible, space separated)"
|
||||||
|
read KART
|
||||||
|
|
||||||
|
for kart in ${KART[@]}; do
|
||||||
|
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_kart_${kart} ]]; then
|
||||||
|
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_kart_${kart} \
|
||||||
|
${ITEMS_BASE}/${kart} &>/dev/null \
|
||||||
|
|| (echo "download of ${kart} failed." \
|
||||||
|
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${KART} \
|
||||||
|
&& exit 57)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ${choosenkarts[@]}
|
||||||
|
echo "choosenkarts=( ${choosenkarts[@]} )" > ${HOME}/.patchimage.choice
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
build_mkwiimm () {
|
||||||
|
|
||||||
|
rm -rf workdir
|
||||||
|
echo "*** 5) extracting image"
|
||||||
|
${WIT} extract ${IMAGE%/*}/${ID} workdir -q || exit 51
|
||||||
|
|
||||||
|
if [[ ! -d "${PATCHIMAGE_RIIVOLUTION_DIR}"/${ID/.*}_SZS ]]; then
|
||||||
|
echo "*** 6) this is the first run, so backing up original files
|
||||||
|
(in ${PATCHIMAGE_RIIVOLUTION_DIR}) for future customizations"
|
||||||
|
mkdir "${PATCHIMAGE_RIIVOLUTION_DIR}"/${ID/.*}_SZS
|
||||||
|
cp workdir/files/Race/Kart/* \
|
||||||
|
"${PATCHIMAGE_RIIVOLUTION_DIR}"/${ID/.*}_SZS
|
||||||
|
else
|
||||||
|
echo "*** 6) restoring original files"
|
||||||
|
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/${ID/.*}_SZS/* \
|
||||||
|
workdir/files/Race/Kart/
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "*** 7) replacing kart(s)"
|
||||||
|
for kart in ${choosenkarts[@]}; do
|
||||||
|
source=${kart/*:}
|
||||||
|
dest=${kart/:*}
|
||||||
|
echo " old: ${dest}.szs new: ${source}"
|
||||||
|
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/mkwiimm_kart_${source} \
|
||||||
|
workdir/files/Race/Kart/${dest}.szs
|
||||||
|
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/mkwiimm_kart_${source} \
|
||||||
|
workdir/files/Race/Kart/${dest}_2.szs
|
||||||
|
cp "${PATCHIMAGE_RIIVOLUTION_DIR}"/mkwiimm_kart_${source} \
|
||||||
|
workdir/files/Race/Kart/${dest}_4.szs
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "*** 8) 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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
patch_wiimm () {
|
||||||
|
|
||||||
|
build_mkwiimm
|
||||||
|
|
||||||
|
}
|
36
script.d/mkwiimm_vehicles.db
Normal file
36
script.d/mkwiimm_vehicles.db
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
la_bike:Flame Runner
|
||||||
|
la_kart:Offroader
|
||||||
|
lb_bike:Wario Bike
|
||||||
|
lb_kart:Flame Flyer
|
||||||
|
lc_bike:Shooting Star
|
||||||
|
lc_kart:Piranha Prowler
|
||||||
|
ld_bike:Spear
|
||||||
|
ld_kart:Jetsetter
|
||||||
|
ldf_bike:Standard Bike L
|
||||||
|
ldf_kart:Standard Kart L
|
||||||
|
le_bike:Phantom
|
||||||
|
le_kart:Honeycoupe
|
||||||
|
ma_bike:Mach Bike
|
||||||
|
ma_kart:Classic Dragster
|
||||||
|
mb_bike:Sugarscoot
|
||||||
|
mb_kart:Wild Wing
|
||||||
|
mc_bike:Zip Zip
|
||||||
|
mc_kart:Super Blooper
|
||||||
|
md_bike:Sneakster
|
||||||
|
md_kart:Daytripper
|
||||||
|
mdf_bike:Standard Bike M
|
||||||
|
mdf_kart:Standard Kart M
|
||||||
|
me_bike:Dolphin Dasher
|
||||||
|
me_kart:Sprinter
|
||||||
|
sa_bike:Bullet Bike
|
||||||
|
sa_kart:Booster Seat
|
||||||
|
sb_bike:Bit Bike
|
||||||
|
sb_kart:Mini Beast
|
||||||
|
sc_bike:Quacker
|
||||||
|
sc_kart:Cheep Charger
|
||||||
|
sd_bike:Magikruiser
|
||||||
|
sd_kart:Tiny Titan
|
||||||
|
sdf_bike:Standard Bike S
|
||||||
|
sdf_kart:Standard Kart S
|
||||||
|
se_bike:Jet Bubble
|
||||||
|
se_kart:Blue Falcon
|
Loading…
Reference in New Issue
Block a user