add support for Pokemon Eternal X and Pokemon Wilting Y

add PATCHIMAGE_DIR internal variable
This commit is contained in:
Christopher Roy Bratusek 2016-08-02 21:40:04 +02:00
parent fa30d9c4e3
commit e9d4f507cb
5 changed files with 241 additions and 2 deletions

View File

@ -1,10 +1,25 @@
v6.4.0:
- add PATCHIMAGE_DIR new internal directory
- fix telling user path to Hans Files for Pokemon Rutile Ruby
- fix telling user path to Hans Files for Pokemon Star Sapphire
- add support for Pokemon Eternal X
- choose between legal, rebalanced and insanity version
- for legal and rebalanced, choose whether to nerf first gym leader
- add support for Pokemon Wilting Y
- choose between legal, rebalanced and insanity version
- for legal and rebalanced, choose whether to nerf first gym leader
v6.3.0: v6.3.0:
- supply ctrtool (32 and 64 bit versions) - supply ctrtool (32 and 64 bit versions)
- supply 3dstool (32 and 64 bit versions) - supply 3dstool (32 and 64 bit versions)
- add support for Pokemon Neo X - add support for Pokemon Neo X
- choose between full and lite version
- add support for Pokemon Neo Y - add support for Pokemon Neo Y
- choose between full and lite version
- add support for Pokemon Rutile Ruby - add support for Pokemon Rutile Ruby
- choose between legit, leveled and 679 build
- add support for Pokemon Star Sapphire - add support for Pokemon Star Sapphire
- choose between legit, leveled and 679 build
v6.2.2: v6.2.2:
- when running patchimage from git, use it's tools, scripts and stuff, - when running patchimage from git, use it's tools, scripts and stuff,

View File

@ -9,6 +9,8 @@
basedir=$(readlink -m "${BASH_SOURCE[0]}") basedir=$(readlink -m "${BASH_SOURCE[0]}")
basedir=$(dirname ${basedir}) basedir=$(dirname ${basedir})
PATCHIMAGE_DIR=${basedir}
if [[ -d ${basedir}/script.d ]]; then if [[ -d ${basedir}/script.d ]]; then
PATCHIMAGE_SCRIPT_DIR=${basedir}/script.d PATCHIMAGE_SCRIPT_DIR=${basedir}/script.d
PATCHIMAGE_PATCH_DIR=${basedir}/patches PATCHIMAGE_PATCH_DIR=${basedir}/patches
@ -189,6 +191,14 @@ case ${GAME} in
source ${PATCHIMAGE_SCRIPT_DIR}/pokemonstarsapphire.sh source ${PATCHIMAGE_SCRIPT_DIR}/pokemonstarsapphire.sh
;; ;;
PKMN5 | EternalX )
source ${PATCHIMAGE_SCRIPT_DIR}/pokemoneternalx.sh
;;
PKMN6 | WiltingY )
source ${PATCHIMAGE_SCRIPT_DIR}/pokemonwiltingy.sh
;;
ZEL1 | ParallelWorlds | "The Legend of Zelda: Parallel Worlds" ) ZEL1 | ParallelWorlds | "The Legend of Zelda: Parallel Worlds" )
source ${PATCHIMAGE_SCRIPT_DIR}/parallelworlds.sh source ${PATCHIMAGE_SCRIPT_DIR}/parallelworlds.sh
;; ;;

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
PATCHIMAGE_VERSION=6.3.0 PATCHIMAGE_VERSION=6.4.0
PATCHIMAGE_RELEASE=2016/07/25 PATCHIMAGE_RELEASE=2016/08/02
[[ -e $HOME/.patchimage.rc ]] && source $HOME/.patchimage.rc [[ -e $HOME/.patchimage.rc ]] && source $HOME/.patchimage.rc
@ -80,6 +80,8 @@ PKMN1 Pokemon Neo X
PKMN2 Pokemon Neo Y PKMN2 Pokemon Neo Y
PKMN3 Pokemon Rutile Ruby PKMN3 Pokemon Rutile Ruby
PKMN4 Pokemon Star Sapphire PKMN4 Pokemon Star Sapphire
PKMN5 Pokemon Eternal X
PKMN6 Pokemon Wilting Y
<<<<<< ROMS >>>>>> <<<<<< ROMS >>>>>>
ZEL1 The Legend of Zelda: Parallel Worlds ZEL1 The Legend of Zelda: Parallel Worlds

106
script.d/pokemoneternalx.sh Normal file
View File

@ -0,0 +1,106 @@
#!/bin/bash
DOWNLOAD_LINK="https://drive.google.com/uc?id=0Bw0cbznV4l_TYUpNbFVwYUtJRVU&export=download"
RIIVOLUTION_ZIP="Eternal X V1.3.zip"
RIIVOLUTION_DIR="Eternal X V1.3/Game Files/"
GAMENAME="Pokemon Eternal X"
GAME_TYPE=HANS
CXI_MASK="*0004000000055[dD]00*cxi"
ROMFS="EternalX.romfs"
DATA=""
show_notes () {
echo -e \
"************************************************
${GAMENAME}
Eternal X is a typical difficulty/721 hack; all Pokémon are obtainable
in all versions of the games, trade evolutions are optional and it is,
of course, more difficult than the base game.
Source: http://www.pokecommunity.com/showthread.php?t=362505
Base ROM: Pokemon X
Supported Versions: US, EU, JAP
************************************************"
}
check_input_rom () {
if [[ ! ${CXI} ]]; then
CXI=$(find . -name ${CXI_MASK} | sed -e 's,./,,')
if [[ -f ${CXI} ]]; then
CXI=${CXI}
RFS=${ROMFS}
else
echo -e "error: could not find suitable ROM, specify using --rom"
exit 15
fi
fi
}
viola_nerf () {
echo "
*** Viola Nerf ***
- nerf: make the first gym leader's team weaker
- keep: keep the first gym leader's team strength
enter either 'nerf' or press [Enter] to keep:
"
read choice
case choice in
[nN]erf ) HANS_EXTRA_PATH="${HANS_PATH}/Viola Nerf Files" ;;
* ) echo "invalid choice made, keeping first gym leader's team strength" ;;
esac
}
check_hans_files () {
check_riivolution_patch
echo "
*** Game Version ***
Encounter type changes the wild Pokemon availability:
- Legal Version: makes useful Hidden Abilities easily available, and adds many
egg and tutor moves to almost every Pokémon's level up moves, all of
which are legal in the official games (hence the name).
- Rebalanced Version: includes all of these changes, as well as base stat, type
and movepool changes intended to make weaker Pokémon more fun to use.
* Insanity Mode: this is essentially the Rebalanced Version with some more
challenging Trainer battles.
enter either 'legal', 'rebalanced' or 'insanity':
"
read choice
case ${choice} in
[lL]egal ) HANS_PATH="${RIIVOLUTION_DIR}/Legal version"
DAT="${HANS_PATH}/Hans Files/"
viola_nerf ;;
[rR]ebalanced ) HANS_PATH="${RIIVOLUTION_DIR}/Rebalanced version"
DAT="${HANS_PATH}/Hans Files"
viola_nerf ;;
[iI]nsanity ) HANS_PATH="${RIIVOLUTION_DIR}/Insanity Mode"
DAT="${HANS_PATH}/Hans Files" ;;
* ) echo "invalid choice made, using 'Rebalanced version'."
HANS_PATH="${RIIVOLUTION_DIR}/Rebalanced version"
DAT="${HANS_PATH}/Hans Files"
viola_nerf ;;
esac
}
patch_romfs () {
cp -r "${HANS_PATH}"/a romfs/
[[ ${HANS_EXTRA_PATH} ]] && cp -r "${HANS_EXTRA_PATH}"/a romfs/
}

106
script.d/pokemonwiltingy.sh Normal file
View File

@ -0,0 +1,106 @@
#!/bin/bash
DOWNLOAD_LINK="https://drive.google.com/uc?id=0Bw0cbznV4l_TNC1vVklzTFhDNTg&export=download"
RIIVOLUTION_ZIP="Wilting Y V1.3.zip"
RIIVOLUTION_DIR="Wilting Y V1.3/Game Files/"
GAMENAME="Pokemon Wilting Y"
GAME_TYPE=HANS
CXI_MASK="*0004000000055[eE]00*cxi"
ROMFS="WiltingY.romfs"
DATA=""
show_notes () {
echo -e \
"************************************************
${GAMENAME}
Wilting Y is a typical difficulty/721 hack; all Pokémon are obtainable
in all versions of the games, trade evolutions are optional and it is,
of course, more difficult than the base game.
Source: http://www.pokecommunity.com/showthread.php?t=362505
Base ROM: Pokemon Y
Supported Versions: US, EU, JAP
************************************************"
}
check_input_rom () {
if [[ ! ${CXI} ]]; then
CXI=$(find . -name ${CXI_MASK} | sed -e 's,./,,')
if [[ -f ${CXI} ]]; then
CXI=${CXI}
RFS=${ROMFS}
else
echo -e "error: could not find suitable ROM, specify using --rom"
exit 15
fi
fi
}
viola_nerf () {
echo "
*** Viola Nerf ***
- nerf: make the first gym leader's team weaker
- keep: keep the first gym leader's team strength
enter either 'nerf' or press [Enter] to keep:
"
read choice
case choice in
[nN]erf ) HANS_EXTRA_PATH="${HANS_PATH}/Viola Nerf Files" ;;
* ) echo "invalid choice made, keeping first gym leader's team strength" ;;
esac
}
check_hans_files () {
check_riivolution_patch
echo "
*** Game Version ***
Encounter type changes the wild Pokemon availability:
- Legal Version: makes useful Hidden Abilities easily available, and adds many
egg and tutor moves to almost every Pokémon's level up moves, all of
which are legal in the official games (hence the name).
- Rebalanced Version: includes all of these changes, as well as base stat, type
and movepool changes intended to make weaker Pokémon more fun to use.
* Insanity Mode: this is essentially the Rebalanced Version with some more
challenging Trainer battles.
enter either 'legal', 'rebalanced' or 'insanity':
"
read choice
case ${choice} in
[lL]egal ) HANS_PATH="${RIIVOLUTION_DIR}/Legal version"
DAT="${HANS_PATH}/Hans Files/"
viola_nerf ;;
[rR]ebalanced ) HANS_PATH="${RIIVOLUTION_DIR}/Rebalanced version"
DAT="${HANS_PATH}/Hans Files"
viola_nerf ;;
[iI]nsanity ) HANS_PATH="${RIIVOLUTION_DIR}/Insanity Mode"
DAT="${HANS_PATH}/Hans Files" ;;
* ) echo "invalid choice made, using 'Rebalanced version'."
HANS_PATH="${RIIVOLUTION_DIR}/Rebalanced version"
DAT="${HANS_PATH}/Hans Files"
viola_nerf ;;
esac
}
patch_romfs () {
cp -r "${HANS_PATH}"/a romfs/
[[ ${HANS_EXTRA_PATH} ]] && cp -r "${HANS_EXTRA_PATH}"/a romfs/
}