diff --git a/ChangeLog b/ChangeLog index 22f6c59..e50f269 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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: - supply ctrtool (32 and 64 bit versions) - supply 3dstool (32 and 64 bit versions) - add support for Pokemon Neo X + - choose between full and lite version - add support for Pokemon Neo Y + - choose between full and lite version - add support for Pokemon Rutile Ruby + - choose between legit, leveled and 679 build - add support for Pokemon Star Sapphire + - choose between legit, leveled and 679 build v6.2.2: - when running patchimage from git, use it's tools, scripts and stuff, diff --git a/patchimage.sh b/patchimage.sh index 8148511..d5d7bfa 100755 --- a/patchimage.sh +++ b/patchimage.sh @@ -9,6 +9,8 @@ basedir=$(readlink -m "${BASH_SOURCE[0]}") basedir=$(dirname ${basedir}) +PATCHIMAGE_DIR=${basedir} + if [[ -d ${basedir}/script.d ]]; then PATCHIMAGE_SCRIPT_DIR=${basedir}/script.d PATCHIMAGE_PATCH_DIR=${basedir}/patches @@ -189,6 +191,14 @@ case ${GAME} in 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" ) source ${PATCHIMAGE_SCRIPT_DIR}/parallelworlds.sh ;; diff --git a/script.d/common.sh b/script.d/common.sh index 4d89de7..69a30b4 100644 --- a/script.d/common.sh +++ b/script.d/common.sh @@ -1,7 +1,7 @@ #!/bin/bash -PATCHIMAGE_VERSION=6.3.0 -PATCHIMAGE_RELEASE=2016/07/25 +PATCHIMAGE_VERSION=6.4.0 +PATCHIMAGE_RELEASE=2016/08/02 [[ -e $HOME/.patchimage.rc ]] && source $HOME/.patchimage.rc @@ -80,6 +80,8 @@ PKMN1 Pokemon Neo X PKMN2 Pokemon Neo Y PKMN3 Pokemon Rutile Ruby PKMN4 Pokemon Star Sapphire +PKMN5 Pokemon Eternal X +PKMN6 Pokemon Wilting Y <<<<<< ROMS >>>>>> ZEL1 The Legend of Zelda: Parallel Worlds diff --git a/script.d/pokemoneternalx.sh b/script.d/pokemoneternalx.sh new file mode 100644 index 0000000..cb6e8c7 --- /dev/null +++ b/script.d/pokemoneternalx.sh @@ -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/ + + } diff --git a/script.d/pokemonwiltingy.sh b/script.d/pokemonwiltingy.sh new file mode 100644 index 0000000..c8a09a7 --- /dev/null +++ b/script.d/pokemonwiltingy.sh @@ -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/ + + }