mirror of
https://gitlab.com/Nanolx/patchimage.git
synced 2024-12-26 17:21:50 +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:
|
||||
- update wit to version 2.31a
|
||||
- update szs to version 1.39a
|
||||
- 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?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:
|
||||
- update wit to 2.30a
|
||||
|
@ -54,3 +54,6 @@ MKWIIMM_MSG_LANG="de"
|
||||
# 1=ja (use own save, no sharing)
|
||||
# 2=nein (share save with original game)
|
||||
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
|
||||
;;
|
||||
|
||||
MKW6 | MkwiimmKarts )
|
||||
source ${PATCHIMAGE_SCRIPT_DIR}/mkwiimm_karts.sh
|
||||
;;
|
||||
|
||||
KAW1 | Kirby )
|
||||
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
|
||||
MKW4 Custom Items. Replace items in the game
|
||||
MKW5 Custom Font. Replace font in the game
|
||||
MKW6 Custom Karts. Replace characters in the game
|
||||
|
||||
<<<<<< Kirby's Adventure Wii >>>>>>
|
||||
KAW1 Change first player's character
|
||||
|
@ -100,7 +100,9 @@ build_mkwiimm () {
|
||||
esac
|
||||
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
|
||||
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
|
||||
|
||||
if [[ ${FONT} != orig ]]; then
|
||||
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/${FONT} ]]; then
|
||||
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/${FONT} \
|
||||
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_font_${FONT} ]]; then
|
||||
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_font_${FONT} \
|
||||
${ITEMS_BASE}/${FONT} &>/dev/null \
|
||||
|| (echo "download of ${FONT} failed." \
|
||||
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${FONT} \
|
||||
@ -73,7 +73,7 @@ build_mkwiimm () {
|
||||
fi
|
||||
|
||||
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 " (storing game in ${PATCHIMAGE_GAME_DIR}/${ID})"
|
||||
|
@ -93,8 +93,8 @@ download_items () {
|
||||
|
||||
for item in ${choosenitems[@]}; do
|
||||
id=${item/*:}
|
||||
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/${id} ]]; then
|
||||
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/${id} \
|
||||
if [[ ! -f ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${id} ]]; then
|
||||
wget -O ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${id} \
|
||||
${ITEMS_BASE}/${id} &>/dev/null \
|
||||
|| (echo "download of ${id} failed." \
|
||||
&& rm ${PATCHIMAGE_RIIVOLUTION_DIR}/${id})
|
||||
@ -132,8 +132,8 @@ build_mkwiimm () {
|
||||
for item in ${choosenitems[@]}; do
|
||||
slot=${item/:*}
|
||||
newi=${item/*:}
|
||||
if [[ -f ${PATCHIMAGE_RIIVOLUTION_DIR}/${newi} ]]; then
|
||||
cp ${PATCHIMAGE_RIIVOLUTION_DIR}/${newi} \
|
||||
if [[ -f ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${newi} ]]; then
|
||||
cp ${PATCHIMAGE_RIIVOLUTION_DIR}/mkwiimm_item_${newi} \
|
||||
workdir/${CSZD}/${slot}
|
||||
fi
|
||||
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