Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Patchimage Wii: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
|title=Wii Homebrew PC Tools (PC Utilities) - GameBrew
|title_mode=append
|image=patchimage
|image_alt=Patchimagewii.png
}}
{{Infobox Wii Homebrews
{{Infobox Wii Homebrews
|title=Patchimage
|title=Patchimage
|image=patchimagewii.png
|image=patchimage2.png
|description=Patchimage is a riivolution patchscript for GNU/Linux.
|description=A Riivolution patchscript for GNU/Linux.
|author=nanolx
|author=nanolx
|lastupdated=2016/09/27
|lastupdated=2016/09/27
Line 14: Line 8:
|version=7.5.0
|version=7.5.0
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/wiihomebrews/patchimagewii.7z
|download=https://nanolx.org/wiihomebrew/patchimage/
|website=https://nanolx.org/wiihomebrew/patchimage/
|website=https://nanolx.org/wiihomebrew/patchimage/
|source=https://github.com/Nanolx/patchimage
|source=https://github.com/Nanolx/patchimage
}}
}}
This is a versatile patch script called '''Patchimage''' for GNU/Linux, which is based on the exceptional work of DMMs and [https://wit.wiimm.de/ Wiimms]. This script can patch riivolution, ips, or xdelta patches into iso or wbfs images of legal game dumps, ROMs, or dumped cpk files.
Patchimage is a riivolution patchscript for GNU/Linux. Based on DMMs and Wiimms excellent work, Patchimage is a script that allows to patch riivoluton, ips or xdelta patches into wbfs or iso images of legal game dumps, ROMs or dumped cpk files.
 
'''Note:''' You need the original games to do this legally. patchimage is 100% legal, as it does not contain any proprietary contents, nor is able to grab them.


==Features==
==Features==
Patchimage offers several features, including the ability to download riivolution files or patches, soundtracks (if available), custom banners for Wii games (if available), covers for Wii games (if available), and automatic storage of patched games to the desired destination (refer to README.RC). It also supports automatic patching of Wii games, 3DS games, and Wii U games, character and item replacement in Mario Kart Wii, character replacement in New Super Mario Bros. Wii, and replacement of Kirby in Kirby's Adventure Wii. Moreover, it can patch Nintendo WFC compatible games to use WiimmFi server.
*Download riivolution files or patches.
*Download soundtracks (if available).
*Download custom banners for Wii games (if available).
*Download covers for Wii games (if available).
*Automatic storing of patched games into desired destination (see README.RC).
*Automatic patching of Wii games, 3DS games, Wii U games.
*Replace characters, fonts and items in Mario Kart Wii.
*Replace characters in New Super Mario Bros. Wii.
*Replace first players Kirby in Kirby's Adventure Wii.
*Patch Nintendo WFC compatible games to use WiimmFi server.


Please note that you need the original games to use this script legally. If you do not own the original game, you cannot hold the author responsible. Patchimage is entirely legal as it does not contain any proprietary contents nor can it acquire them.
==User guide==
Don't fiddle around with sub-folders in riivolution-files, the script uses files as "unzip" creates them. No need to modify anything.


==Patchimage supports the following base games:==
patchimage supports the following base games:
Patchimage supports various base games, including New Super Mario Bros. Wii, Kirby's Adventure Wii, Mario Kart Wii, Tokyo Mirage Sessions #FE, Pokemon X, Pokemon Y, Pokemon Omega Ruby, Pokemon Alpha Sapphire, and Bravely Second.
*New Super Mario Bros. Wii.
*Kirby's Adventure Wii.
*Mario Kart Wii.
*Tokyo Mirage Sessions #FE.
*Pokemon X.
*Pokemon Y.
*Pokemon Omega Ruby.
*Pokemon Alpha Sapphire.
*Bravely Second.


==More information:==
See the included documentation for more information on specific features:
For more information about supported game modifications, search paths and expected file names, command line flags, configuration file examples, status codes while processing, and exit codes for debugging, refer to the relevant sections in README.GAMEIDS, README.CMD_OPTS, README.RC, README.STATUS_CODES, and README.EXIT_CODES respectively.
*Supported game modifcations, search paths and expecte file names - README.GAMEIDS
*Supported commandline flags - README.CMD_OPTS
*Configuration file example - README.RC
*Status code while processing - README.STATUS_CODES
*Exit codes (for debugging) - README.EXIT_CODES


==Example usages==
===Example usages===
<pre>
<pre>
Newer Super Mario Bros. Wii
Newer Super Mario Bros. Wii
Line 51: Line 69:


==Changelog==
==Changelog==
'''v7.5.0 (20160927)'''
'''v7.5.0 2016/09/27'''
*game additions
*Game additions:
** add support for Super Mario Bros. Frozen Editon
** Add support for Super Mario Bros. Frozen Editon.
*game updates:
*Game updates:
** Pokemon Rising Ruby: support version 2.0
** Pokemon Rising Ruby: support version 2.0.
** Pokemon Sinking Sapphire: support version 2.0
** Pokemon Sinking Sapphire: support version 2.0.
*misc. changes:
*Misc. changes:
** fix ID6 for NSMBW3: The Final Levels in README.GAMEIDS
** Fix ID6 for NSMBW3: The Final Levels in README.GAMEIDS.
** other minor changes
** Other minor changes.


'''v7.4.0 (20160903)'''
'''v7.4.0 2016/09/03'''
*Tokyo Mirage Sessions #FE Restoration Patcher
*Tokyo Mirage Sessions #FE Restoration Patcher:
** use 'Restoration' instead of 'Uncensored' as Name
** Use 'Restoration' instead of 'Uncensored' as Name.
** more failsafe build-directory name
** More failsafe build-directory name.
** add support for downloading xdelta files with --download
** Add support for downloading xdelta files with --download.
** check whether files have already been downloaded and use those
** Check whether files have already been downloaded and use those.
** for xdelta patches and original cpk files, now check whether every single file exists, rather than just one of them
** For xdelta patches and original cpk files, now check whether every single file exists, rather than just one of them.
** for cpk file path support both the top level directory of the dump as well as the sub level directory which holds the cpk files, read: when your dump
** For cpk file path support both the top level directory of the dump as well as the sub level directory which holds the cpk files, read: when your dump is in /home/test/TMSFE you were previously required to set the cpk path to /home/test/TMSFE/vol/content/Pack now using /home/test/TMSFE will work, too, as the script will look for the sub directory vol/content/Pack on it's own.
is in /home/test/TMSFE you were previously required to set the cpk path to /home/test/TMSFE/vol/content/Pack now using /home/test/TMSFE will work, too, as the script will look for the sub directory vol/content/Pack on it's own
*Game updates:
*game updates:
** Update Cliff Super Mario Bros. Wii to version 1.1.1.
** update Cliff Super Mario Bros. Wii to version 1.1.1
** Update Revised Super Mario Bros. Wii to version 1.1.
** update Revised Super Mario Bros. Wii to version 1.1
** Update The Legend of Yoshi to version 2016-08-31.
** update The Legend of Yoshi to version 2016-08-31
*Misc. changes:
*misc. changes:
** Use 'wget -nv' instead of 'wget -q'.
** use 'wget -nv' instead of 'wget -q'
** Except for cover downloader.
** except for cover downloader


'''v7.3.1.1 (20160829)'''
'''v7.3.1.1 2016/08/29/'''
::bug fixes
* Bug fixes:
* fixed brocken nsmb-helper script
** Fixed brocken nsmb-helper script.


'''v7.3.1 (20160828)'''
'''v7.3.1 (20160828)'''
*bug fixes
* Bug fixes:
** fixed that --iso, --rom, --patch, --xdelta, --cpk and --riivolution command line flags failed when relative paths were given (regression from 7.2.2)
** Fixed that --iso, --rom, --patch, --xdelta, --cpk and --riivolution command line flags failed when relative paths were given (regression from 7.2.2)
** fixed that temporary files were kept when downloads failed, causing required user-input for wget when trying again
** Fixed that temporary files were kept when downloads failed, causing required user-input for wget when trying again.
** fixed that --cpk and --xdelta command line flags never actually checked wether the given directory does exist, before trying to patch the game [the game
** Fixed that --cpk and --xdelta command line flags never actually checked wether the given directory does exist, before trying to patch the game [the game
patcher does, too, but it should fail immediately upon wrong user-input]
patcher does, too, but it should fail immediately upon wrong user-input].
** remove build directory before trying to build a game, not afterwards, so that in case a build failed in batch-mode, the next one can be tried without issues
** Remove build directory before trying to build a game, not afterwards, so that in case a build failed in batch-mode, the next one can be tried without issues
** fixed that character mods were not applicable to Cliff Super Mario Bros. Wii
** Fixed that character mods were not applicable to Cliff Super Mario Bros. Wii.
*misc. changes:
*Misc. changes:
** drop support for Awesomer Super Luigi Mini (broken and offline)
** Drop support for Awesomer Super Luigi Mini (broken and offline).
** update Cliff Super Mario Bros. to version 1.1
** Update Cliff Super Mario Bros. to version 1.1.


'''v7.3.0 (20160827)'''
'''v7.3.0 2016/08/27'''
*internal changes:
*Internal changes:
** modularize common.sh
** Modularize common.sh.
** supply megadl (32 and 64 bit)
** Supply megadl (32 and 64 bit).
*downloader changes:
*Downloader changes:
** changed download links to Mediafire so that they can automatically be downloaded using wget, this makes Cliff Super Mario Bros., Ghostly Super
** Changed download links to Mediafire so that they can automatically be downloaded using wget, this makes Cliff Super Mario Bros., Ghostly Super Mario Boos Wii, MLG Super Mario Bros. Wii, Pokemon Neo X, Pokemon Neo Y and Pokemon Red Ruby auto-downloadable.
Mario Boos Wii, MLG Super Mario Bros. Wii, Pokemon Neo X, Pokemon Neo Y and Pokemon Red Ruby auto-downloadable
** Changed download links to Sendspace so that they can automatically be downloaded using wget, this makes Challenging Super Mario Bros. Wii: virtual Special auto-downloadable
** changed download links to Sendspace so that they can automatically be
** Include megadl a tool that can download files from Mega using commandline, this makes Pokemon Delta Emerald, Pokemon Rutile Ruby, Pokemon Star Sapphire and Bravely Second Uncensored auto-downloadable.
downloaded using wget, this makes Challenging Super Mario Bros. Wii: virtual Special auto-downloadable
*Misc. changes:
** include megadl a tool that can download files from Mega using commandline, this makes Pokemon Delta Emerald, Pokemon Rutile Ruby, Pokemon Star Sapphire
** Update Cliff Super Mario Bros. to version 1.0.5.
and Bravely Second Uncensored auto-downloadable
*misc. changes:
** update Cliff Super Mario Bros. to version 1.0.5


'''v7.2.2 (20160823)'''
'''v7.2.2 2016/08/23'''
*bug fixes
*Bug fixes:
** fix PATCHIMAGE_3DS_DIR setup when no ${HOME}/.patchimage.rc exists
** Fix PATCHIMAGE_3DS_DIR setup when no ${HOME}/.patchimage.rc exists.
** fix PATCHIMAGE_ROM_DIR setup when no ${HOME}/.patchimage.rc exists
** Fix PATCHIMAGE_ROM_DIR setup when no ${HOME}/.patchimage.rc exists.
** fixed that the script expected wrong parameter --show-downloadlink instead of correct --show-download
** Fixed that the script expected wrong parameter --show-downloadlink instead of correct --show-download.
** fix error messages or required user-input during batch-build by creating a separate build directory, then create the mod and before the next build is done that build directory is removed and re-created
** Fix error messages or required user-input during batch-build by creating a separate build directory, then create the mod and before the next build is done that build directory is removed and re-created.
** when ${PWD} is writable that will be ${PWD}/patchimage_build, else it will be ${HOME}/patchimage_build
** When ${PWD} is writable that will be ${PWD}/patchimage_build, else it will be ${HOME}/patchimage_build.
*misc. changes
*Misc. changes:
** use 'read -er' instead of 'read -r' so that during user-input readline features like path-completion can be used.
** Use 'read -er' instead of 'read -r' so that during user-input readline features like path-completion can be used.
** in game information fix link to Pokemon Star Sapphire Thread
** In game information fix link to Pokemon Star Sapphire Thread.
** update Cliff Super Mario Bros. to version 1.0.4
** Update Cliff Super Mario Bros. to version 1.0.4.


'''v7.2.1 (20160822)'''
'''v7.2.1 2016/08/22'''
*bug fixes
*Bug fixes:
** fix ID for Kirby's Adventure Wii and Mario Kart Wii for US versions
** Fix ID for Kirby's Adventure Wii and Mario Kart Wii for US versions.


'''v7.2.0 (20160822):'''
'''v7.2.0 2016/08/22'''
*internal changes
*Internal changes:
** functions for applying IPS, PPF and BPS patches now check for patch zip files in ${PWD} and ${PACHIMAGE_RIIVOLUTION_DIR}, just like all other functions and
** Functions for applying IPS, PPF and BPS patches now check for patch zip files in ${PWD} and ${PACHIMAGE_RIIVOLUTION_DIR}, just like all other functions and
unpack them, if found
unpack them, if found.
** functions for applying IPS, PPF and BPS patches now look in ${PWD} and ${PATCHIMAGE_RIIVOLUTION_DIR} for patch files
** Functions for applying IPS, PPF and BPS patches now look in ${PWD} and ${PATCHIMAGE_RIIVOLUTION_DIR} for patch files.
** functions for applying IPS, PPF and BPS patches thus only fail when they neither find a zip archive containing the patch, or the bare patch file
** Functions for applying IPS, PPF and BPS patches thus only fail when they neither find a zip archive containing the patch, or the bare patch file.
** HANS patcher now supports applying DELTA patches
** HANS patcher now supports applying DELTA patches.
** split out messages into message.sh
** Split out messages into message.sh.
** automatic downloading is not possible from SendSpace, update downloader function to inform user to manually download from there
** Automatic downloading is not possible from SendSpace, update downloader function to inform user to manually download from there.
*bug fixes
*Bug fixes:
** Pokemon Star Sapphire was accidently called Alpha Sapphire in the menu, also had wrong Short ID
** Pokemon Star Sapphire was accidently called Alpha Sapphire in the menu, also had wrong Short ID.
** fixed that Opening Title for US version was applied to EU version in MLG Super Mario Bros. Wii (fixes black screen on start)
** Fixed that Opening Title for US version was applied to EU version in MLG Super Mario Bros. Wii (fixes black screen on start).
** fixed regression from version 7.1.0 that made it impossible to patch US version of New Super Mario Bros. Wii because it was looking for wrong ID SMNU01 instead of correct ID SMNE01
** Fixed regression from version 7.1.0 that made it impossible to patch US version of New Super Mario Bros. Wii because it was looking for wrong ID SMNU01 instead of correct ID SMNE01.
** fixed black screen in Devil Mario Winter Special by not applying the custom openingTitle.arc for PAL New Super Mario Bros. Wii
** Fixed black screen in Devil Mario Winter Special by not applying the custom openingTitle.arc for PAL New Super Mario Bros. Wii.
** fixed black screen in Remixed Super Mario Bros. Wii by not applying the custom openingTitle.arc for PAL and JAP New Super Mario Bros. Wii
** Fixed black screen in Remixed Super Mario Bros. Wii by not applying the custom openingTitle.arc for PAL and JAP New Super Mario Bros. Wii.
** fixed that the script did try to automatically download from mediafire instead of informing user to manually download
** Fixed that the script did try to automatically download from mediafire instead of informing user to manually download.
*command line parameters
*Command line parameters:
** add batch building short cuts for --game parameter:
** Add batch building short cuts for --game parameter:
** NSMB_ALL build all NSMB Mods
** NSMB_ALL build all NSMB Mods.
** PKMN_ALL build all Pokemon X, Y, Omega Ruby and Alpha Sapphire Mod
** PKMN_ALL build all Pokemon X, Y, Omega Ruby and Alpha Sapphire Mod.
** PKMN_X build all Pokemon X Mods
** PKMN_X build all Pokemon X Mods.
** PKMN_Y build all Pokemon Y Mods
** PKMN_Y build all Pokemon Y Mods.
** PKMN_OR build all Pokemon Omega Ruby Mods
** PKMN_OR build all Pokemon Omega Ruby Mods.
** PKMN_AS build all Pokemon Alpha Sapphire Mods
** PKMN_AS build all Pokemon Alpha Sapphire Mods.
** add --list-requirements ; show a detailed list of expected game images and Riivolution or HANS archives or Patches required for building
** Add --list-requirements ; show a detailed list of expected game images and Riivolution or HANS archives or Patches required for building.
** add --list-requirements-nsmb, --list-requirements-mkwiimmfi,
** Add --list-requirements-nsmb, --list-requirements-mkwiimmfi,
**-list-requirements-tokyo, --list-requirements-kirby,
**-list-requirements-tokyo, --list-requirements-kirby,
**-list-requirements-pokemon, --list-requirements-3ds,
**-list-requirements-pokemon, --list-requirements-3ds,
**-list-requirements-other, to show only requirements for mods of specific base games
**-list-requirements-other, to show only requirements for mods of specific base games.
** add --show-download ; only show download like for games choosen in menu or given using --game parameter
** Add --show-download ; only show download like for games choosen in menu or given using --game parameter.
** added --list-games-nsmb, --list-games-mkwiimmfi, --list-games-tokyo,
** Added --list-games-nsmb, --list-games-mkwiimmfi, --list-games-tokyo,
**-list-games-kirby, --list-games-pokemon, --list-games-3ds, --list-games-other to show only mods for specific base games
**-list-games-kirby, --list-games-pokemon, --list-games-3ds, --list-games-other to show only mods for specific base games.
*misc. changes
*Misc. changes:
** new download link for The Legend of Yoshi
** New download link for The Legend of Yoshi.
** update to version 2016-05-28 of The Legend of Yoshi
** Update to version 2016-05-28 of The Legend of Yoshi.
** update to version 1.02 of New Super Mario Bros. Wii - Other World
** Update to version 1.02 of New Super Mario Bros. Wii - Other World.
*mod additions:
*Mod additions:
** Mario Kart Wii Fonts:
** Mario Kart Wii Fonts:
** added Super Mario Font
** Added Super Mario Font.
** added Chalky Font
** Added Chalky Font.
** added UmePlus Font
** Added UmePlus Font.
** sort files alphabetically in list
** Sort files alphabetically in list.
** Mario Kart Wii Karts:
** Mario Kart Wii Karts:
** update Sonic the Hedgehog on Foot to version 1.5
** Update Sonic the Hedgehog on Foot to version 1.5.
** add Black Mage on Wii Remote
** Add Black Mage on Wii Remote.
** add White Mage on Wii Remote
** Add White Mage on Wii Remote.
** add Kirby on Wheelie
** Add Kirby on Wheelie.
** add Nabbit on Flame Runner
** Add Nabbit on Flame Runner.
** add Skull Kid on Bullet Bike
** Add Skull Kid on Bullet Bike.
** add Super Sonic on Mach Bike
** Add Super Sonic on Mach Bike.
** add Wolf Link on Mach Bike
** Add Wolf Link on Mach Bike.
*game additions
*Game additions:
*New Super Mario Bros. Wii
*New Super Mario Bros. Wii.
** add support for Cliff Super Mario Bros. Wii (SCL[PUJ]01)
** Add support for Cliff Super Mario Bros. Wii (SCL[PUJ]01).
** add support for Challenging Super Mario Bros. Wii: Virtual Special (SMN[PUJ]ZC)
** Add support for Challenging Super Mario Bros. Wii: Virtual Special (SMN[PUJ]ZC).
*Pokemon
*Pokemon:
** add support for Pokemon Red Ruby
** Add support for Pokemon Red Ruby.
** supply HANS configuration files for Red Ruby
** Supply HANS configuration files for Red Ruby.
** add support for Pokemon Delta Emerald (patch for Alpha Sapphire)
** Add support for Pokemon Delta Emerald (patch for Alpha Sapphire).
** supply HANS configuration files for Delta Emerald
** Supply HANS configuration files for Delta Emerald.
** since the author of Delta Emerald is working on a patch for Omega Ruby
** Since the author of Delta Emerald is working on a patch for Omega Ruby aswell, the game and created files are called "DeltaEmerald-AS" [obviously they will be "DeltaEmerald-OR" for patched Omega Ruby].
aswell, the game and created files are called "DeltaEmerald-AS"
[obviously they will be "DeltaEmerald-OR" for patched Omega Ruby]


'''v7.1.0'''
'''v7.1.0'''
*internal changes
*Internal changes:
** rewrite downloader function
** Rewrite downloader function.
** supply beat BPS patcher (32 and 64 bit)
** Supply beat BPS patcher (32 and 64 bit).
** add (yet unused) patching functions for PPF patches
** Add (yet unused) patching functions for PPF patches.
** add (yet unused) patching functions for BPS patches
** Add (yet unused) patching functions for BPS patches.
** code cleanup, remove duplicated code
** Code cleanup, remove duplicated code.
*bugfixes
*Bugfixes:
** fixup The Legend of Zelda - Parallel Worlds patcher
** Fixup The Legend of Zelda - Parallel Worlds patcher.
** fixup --patch command line parameter
** Fixup --patch command line parameter.
*misc. changes
*Misc. changes:
** removed download link for Awesomer Super Luigi Mini (down)
** Removed download link for Awesomer Super Luigi Mini (down).
** new download link for RVLution Wii
** New download link for RVLution Wii.
** new download link for Newer Falling Leaf
** New download link for Newer Falling Leaf.
** fix download link for Midi's Super Mario Wii
** Fix download link for Midi's Super Mario Wii.
** fix download link for Newer Apocalypse
** Fix download link for Newer Apocalypse.
** New Super Mario Bros. Wii character mod: allow only restoring
** New Super Mario Bros. Wii character mod: allow only restoring original characters without further changes
original characters without further changes
** Update nsmbw.db.
** update nsmbw.db
*Game additions:
*game additions
** New Super Mario Bros. Wii.
**New Super Mario Bros. Wii
*** Add support for MLG Super Luigi Bros. Wii.
*** add support for MLG Super Luigi Bros. Wii


'''v7.0.0:'''
'''v7.0.0:'''
*internal changes
*Internal changes:
** add PATCHIMAGE_DIR new internal variable
** Add PATCHIMAGE_DIR new internal variable.
** add PATCHIMAGE_DATABASE_DIR new internal variable
** Add PATCHIMAGE_DATABASE_DIR new internal variable.
** add PATCHIMAGE_OVERRIDE_DIR new internal variable
** Add PATCHIMAGE_OVERRIDE_DIR new internal variable.
** add UNP_EXTRA_ARGS new internal variable
** Add UNP_EXTRA_ARGS new internal variable.
** make check_input_rom a common.sh function, prevent duplicated code
** Make check_input_rom a common.sh function, prevent duplicated code.
** shift around some paths
** Shift around some paths.
** update database with New Super Mario Bros. Wii mods
** Update database with New Super Mario Bros. Wii mods.
** code review and improvements
** Code review and improvements.
** improved Debian GNU/Linux packaging
** Improved Debian GNU/Linux packaging.
** install pre-compiled tools to /usr/lib/ARCH/patchimage (FHS compliance)
** Install pre-compiled tools to /usr/lib/ARCH/patchimage (FHS compliance).
** improved --help message
** Improved --help message.
** add --list-games parameter (show buildable games)
** Add --list-games parameter (show buildable games).
** --list-games and menu now show ID / Short Name and Full Name of all games
** --list-games and menu now show ID / Short Name and Full Name of all games.
** add --override-szs to override Wiims Mario Kart Fun wit and szs with the ones supplied by patchimage. Use this if building Wiims Mario Kart Fun fails due to incompatible library versions being installed.
** Add --override-szs to override Wiims Mario Kart Fun wit and szs with the ones supplied by patchimage. Use this if building Wiims Mario Kart Fun fails due to incompatible library versions being installed.
** add batch mode for generating more than one mod at once
** Add batch mode for generating more than one mod at once.
*bug fixes
*Bug fixes:
** several minor bugfixes and improvements
** Several minor bugfixes and improvements.
** before creating any of the directories defined in ${HOME}/.patchimage.rc check whether the parent directory is writeable, else fallback to ${HOME}
** Before creating any of the directories defined in ${HOME}/.patchimage.rc check whether the parent directory is writeable, else fallback to ${HOME}.
** when setting destination directory for created files, check if they are writeable, else fallback to ${HOME}
** When setting destination directory for created files, check if they are writeable, else fallback to ${HOME}.
** fix telling user path to Hans Files for all Pokemon game hacks
** Fix telling user path to Hans Files for all Pokemon game hacks.
** make the script more robust against directories with spaces in their names
** Make the script more robust against directories with spaces in their names.
** use gdown.pl for drive.google.** download links
** Use gdown.pl for drive.google.** download links.
** for download links on Mega tell user where to download manually
** For download links on Mega tell user where to download manually.
** for download links on Mediafire tell user where to download manually
** For download links on Mediafire tell user where to download manually.
** patchimage menu showed TMS1 as ID for Tokyo Mirage Sessions #FE restoration patcher, while TMSFE was the actual (but wrong ID), thus TMS1 was reported as unknown game / wrong user input. Now TMS1 works as expected.
** patchimage menu showed TMS1 as ID for Tokyo Mirage Sessions #FE restoration patcher, while TMSFE was the actual (but wrong ID), thus TMS1 was reported as unknown game / wrong user input. Now TMS1 works as expected.
** archive name for Newer Super Mario Bros. Wii has changed
** Qrchive name for Newer Super Mario Bros. Wii has changed.
*configuration file changes
*Configuration file changes:
** new configuration variable PATCHIMAGE_3DS_DIR, global directory where to look for unmodified 3DS ROM files
** New configuration variable PATCHIMAGE_3DS_DIR, global directory where to look for unmodified 3DS ROM files.
** new configuration variable PATCHIMAGE_ROM_DIR, global directory where to store your modified 3DS ROM files
** New configuration variable PATCHIMAGE_ROM_DIR, global directory where to store your modified 3DS ROM files.
*documentation
*Documentation:
** update REAMDE
** Update REAMDE.
** update README.RC
** Update README.RC.
** update README.STATUS_CODES
** Update README.STATUS_CODES.
** update README.GAMEIDS
** Update README.GAMEIDS.
** now includes game search paths
** Now includes game search paths.
** now includes expected filenames
** Now includes expected filenames.
*misc. changes
*Misc. changes:
** make check_input_rom search in both ${PATCHIMAGE_3DS_DIR} and ${PWD}
** Make check_input_rom search in both ${PATCHIMAGE_3DS_DIR} and ${PWD}.
** show full path for Hans Files for all games, instead of relative
** Show full path for Hans Files for all games, instead of relative.
** only show path to Hans files if they exist
** Only show path to Hans files if they exist.
** when downloading covers for Wii games fail, retry with the US cover
** When downloading covers for Wii games fail, retry with the US cover.
** don't re-download covers that already exist
** Don't re-download covers that already exist.
** don't re-download soundtracks that already exist
** Don't re-download soundtracks that already exist.
** for NSMBW character mods, Mario Kart Wii font, item and kart mods, don't download the files from the interwebs, instead use files supplied and installed with patchimage
** For NSMBW character mods, Mario Kart Wii font, item and kart mods, don't download the files from the interwebs, instead use files supplied and installed with patchimage
*game additions
*Game additions:
*New Super Mario Bros. Wii
*New Super Mario Bros. Wii.
** add support for Revised Super Mario Bros. Wii
** Add support for Revised Super Mario Bros. Wii.
*Pokemon
*Pokemon:
** add support for Pokemon Eternal X
** Add support for Pokemon Eternal X.
** choose between legal, rebalanced and insanity version
** Choose between legal, rebalanced and insanity version.
** for legal and rebalanced, choose whether to nerf first gym leader
** For legal and rebalanced, choose whether to nerf first gym leader.
** add support for Pokemon Wilting Y
** Add support for Pokemon Wilting Y.
** choose between legal, rebalanced and insanity version
** Choose between legal, rebalanced and insanity version.
** for legal and rebalanced, choose whether to nerf first gym leader
** For legal and rebalanced, choose whether to nerf first gym leader.
** add support for Pokemon Rising Ruby
** Add support for Pokemon Rising Ruby.
** provide custom Hans banner and launcher
** Provide custom Hans banner and launcher.
** add support for Pokemon Sinking Sapphire
** Add support for Pokemon Sinking Sapphire.
** provide custom Hans banner and launcher
** Provide custom Hans banner and launcher.
*Other
*Other:
** add support for Bravely Second Uncensored
** Add support for Bravely Second Uncensored.
** fully supports both EUR and USA game version
** Fully supports both EUR and USA game version.
** auto-detects provided game version in ${PWD} or ${PATCHIMAGE_3DS_DIR}
** Auto-detects provided game version in ${PWD} or ${PATCHIMAGE_3DS_DIR}.
** provide Hans configuration
** Provide Hans configuration.
*game changes and updates
*Game changes and updates:
** update download link for Pokemon Rutile Ruby to v2.1
** Update download link for Pokemon Rutile Ruby to v2.1.
** update download link for Pokemon Star Sapphire to v2.1
** Update download link for Pokemon Star Sapphire to v2.1.


==External Links==
==External Links==
* Official Site - https://nanolx.org/wiihomebrew/patchimage/
* Official website - https://nanolx.org/wiihomebrew/patchimage/
* Github - https://github.com/Nanolx/patchimage
* GitHub - https://github.com/Nanolx/patchimage
* Wii-Homebrew - https://forum.wii-homebrew.com/index.php/Thread/51845-ENG-Patchimage-5-1-0-available/?action=lastPost

Latest revision as of 11:16, 31 March 2023

Patchimage
Patchimage2.png
General
Authornanolx
TypePC Utilities
Version7.5.0
LicenseGPL-3.0
Last Updated2016/09/27
Links
Download
Website
Source

Patchimage is a riivolution patchscript for GNU/Linux. Based on DMMs and Wiimms excellent work, Patchimage is a script that allows to patch riivoluton, ips or xdelta patches into wbfs or iso images of legal game dumps, ROMs or dumped cpk files.

Note: You need the original games to do this legally. patchimage is 100% legal, as it does not contain any proprietary contents, nor is able to grab them.

Features

  • Download riivolution files or patches.
  • Download soundtracks (if available).
  • Download custom banners for Wii games (if available).
  • Download covers for Wii games (if available).
  • Automatic storing of patched games into desired destination (see README.RC).
  • Automatic patching of Wii games, 3DS games, Wii U games.
  • Replace characters, fonts and items in Mario Kart Wii.
  • Replace characters in New Super Mario Bros. Wii.
  • Replace first players Kirby in Kirby's Adventure Wii.
  • Patch Nintendo WFC compatible games to use WiimmFi server.

User guide

Don't fiddle around with sub-folders in riivolution-files, the script uses files as "unzip" creates them. No need to modify anything.

patchimage supports the following base games:

  • New Super Mario Bros. Wii.
  • Kirby's Adventure Wii.
  • Mario Kart Wii.
  • Tokyo Mirage Sessions #FE.
  • Pokemon X.
  • Pokemon Y.
  • Pokemon Omega Ruby.
  • Pokemon Alpha Sapphire.
  • Bravely Second.

See the included documentation for more information on specific features:

  • Supported game modifcations, search paths and expecte file names - README.GAMEIDS
  • Supported commandline flags - README.CMD_OPTS
  • Configuration file example - README.RC
  • Status code while processing - README.STATUS_CODES
  • Exit codes (for debugging) - README.EXIT_CODES

Example usages

Newer Super Mario Bros. Wii
$ patchimage --game=NewerSMBW --iso=/home/test/SMNP01.iso --download

Zelda: Parallel Worlds
$ patchimage --game=ParallelWorlds --rom=/home/test/ALTTP.smc --download

Toyko Mirage Sessions #FE Restoration
$ patchimage --game=TMSFE --xdelta=/home/test/xdelta/ \
--cpk=/home/test/ASEP01/content/Pack/

Newer Super Mario Bros. Wii and Cannon Super Mario Bros. in one go:
$ patchimage --game="NewerSMB Cannon" --iso=/home/test/SMNP01.iso --download

All Mods of New Super Mario Bros. Wii:
$ patchimage --game=NSMB_ALL --iso=/home/test/SMNP01.iso --download

Changelog

v7.5.0 2016/09/27

  • Game additions:
    • Add support for Super Mario Bros. Frozen Editon.
  • Game updates:
    • Pokemon Rising Ruby: support version 2.0.
    • Pokemon Sinking Sapphire: support version 2.0.
  • Misc. changes:
    • Fix ID6 for NSMBW3: The Final Levels in README.GAMEIDS.
    • Other minor changes.

v7.4.0 2016/09/03

  • Tokyo Mirage Sessions #FE Restoration Patcher:
    • Use 'Restoration' instead of 'Uncensored' as Name.
    • More failsafe build-directory name.
    • Add support for downloading xdelta files with --download.
    • Check whether files have already been downloaded and use those.
    • For xdelta patches and original cpk files, now check whether every single file exists, rather than just one of them.
    • For cpk file path support both the top level directory of the dump as well as the sub level directory which holds the cpk files, read: when your dump is in /home/test/TMSFE you were previously required to set the cpk path to /home/test/TMSFE/vol/content/Pack now using /home/test/TMSFE will work, too, as the script will look for the sub directory vol/content/Pack on it's own.
  • Game updates:
    • Update Cliff Super Mario Bros. Wii to version 1.1.1.
    • Update Revised Super Mario Bros. Wii to version 1.1.
    • Update The Legend of Yoshi to version 2016-08-31.
  • Misc. changes:
    • Use 'wget -nv' instead of 'wget -q'.
    • Except for cover downloader.

v7.3.1.1 2016/08/29/

  • Bug fixes:
    • Fixed brocken nsmb-helper script.

v7.3.1 (20160828)

  • Bug fixes:
    • Fixed that --iso, --rom, --patch, --xdelta, --cpk and --riivolution command line flags failed when relative paths were given (regression from 7.2.2)
    • Fixed that temporary files were kept when downloads failed, causing required user-input for wget when trying again.
    • Fixed that --cpk and --xdelta command line flags never actually checked wether the given directory does exist, before trying to patch the game [the game

patcher does, too, but it should fail immediately upon wrong user-input].

    • Remove build directory before trying to build a game, not afterwards, so that in case a build failed in batch-mode, the next one can be tried without issues
    • Fixed that character mods were not applicable to Cliff Super Mario Bros. Wii.
  • Misc. changes:
    • Drop support for Awesomer Super Luigi Mini (broken and offline).
    • Update Cliff Super Mario Bros. to version 1.1.

v7.3.0 2016/08/27

  • Internal changes:
    • Modularize common.sh.
    • Supply megadl (32 and 64 bit).
  • Downloader changes:
    • Changed download links to Mediafire so that they can automatically be downloaded using wget, this makes Cliff Super Mario Bros., Ghostly Super Mario Boos Wii, MLG Super Mario Bros. Wii, Pokemon Neo X, Pokemon Neo Y and Pokemon Red Ruby auto-downloadable.
    • Changed download links to Sendspace so that they can automatically be downloaded using wget, this makes Challenging Super Mario Bros. Wii: virtual Special auto-downloadable
    • Include megadl a tool that can download files from Mega using commandline, this makes Pokemon Delta Emerald, Pokemon Rutile Ruby, Pokemon Star Sapphire and Bravely Second Uncensored auto-downloadable.
  • Misc. changes:
    • Update Cliff Super Mario Bros. to version 1.0.5.

v7.2.2 2016/08/23

  • Bug fixes:
    • Fix PATCHIMAGE_3DS_DIR setup when no ${HOME}/.patchimage.rc exists.
    • Fix PATCHIMAGE_ROM_DIR setup when no ${HOME}/.patchimage.rc exists.
    • Fixed that the script expected wrong parameter --show-downloadlink instead of correct --show-download.
    • Fix error messages or required user-input during batch-build by creating a separate build directory, then create the mod and before the next build is done that build directory is removed and re-created.
    • When ${PWD} is writable that will be ${PWD}/patchimage_build, else it will be ${HOME}/patchimage_build.
  • Misc. changes:
    • Use 'read -er' instead of 'read -r' so that during user-input readline features like path-completion can be used.
    • In game information fix link to Pokemon Star Sapphire Thread.
    • Update Cliff Super Mario Bros. to version 1.0.4.

v7.2.1 2016/08/22

  • Bug fixes:
    • Fix ID for Kirby's Adventure Wii and Mario Kart Wii for US versions.

v7.2.0 2016/08/22

  • Internal changes:
    • Functions for applying IPS, PPF and BPS patches now check for patch zip files in ${PWD} and ${PACHIMAGE_RIIVOLUTION_DIR}, just like all other functions and

unpack them, if found.

    • Functions for applying IPS, PPF and BPS patches now look in ${PWD} and ${PATCHIMAGE_RIIVOLUTION_DIR} for patch files.
    • Functions for applying IPS, PPF and BPS patches thus only fail when they neither find a zip archive containing the patch, or the bare patch file.
    • HANS patcher now supports applying DELTA patches.
    • Split out messages into message.sh.
    • Automatic downloading is not possible from SendSpace, update downloader function to inform user to manually download from there.
  • Bug fixes:
    • Pokemon Star Sapphire was accidently called Alpha Sapphire in the menu, also had wrong Short ID.
    • Fixed that Opening Title for US version was applied to EU version in MLG Super Mario Bros. Wii (fixes black screen on start).
    • Fixed regression from version 7.1.0 that made it impossible to patch US version of New Super Mario Bros. Wii because it was looking for wrong ID SMNU01 instead of correct ID SMNE01.
    • Fixed black screen in Devil Mario Winter Special by not applying the custom openingTitle.arc for PAL New Super Mario Bros. Wii.
    • Fixed black screen in Remixed Super Mario Bros. Wii by not applying the custom openingTitle.arc for PAL and JAP New Super Mario Bros. Wii.
    • Fixed that the script did try to automatically download from mediafire instead of informing user to manually download.
  • Command line parameters:
    • Add batch building short cuts for --game parameter:
    • NSMB_ALL build all NSMB Mods.
    • PKMN_ALL build all Pokemon X, Y, Omega Ruby and Alpha Sapphire Mod.
    • PKMN_X build all Pokemon X Mods.
    • PKMN_Y build all Pokemon Y Mods.
    • PKMN_OR build all Pokemon Omega Ruby Mods.
    • PKMN_AS build all Pokemon Alpha Sapphire Mods.
    • Add --list-requirements ; show a detailed list of expected game images and Riivolution or HANS archives or Patches required for building.
    • Add --list-requirements-nsmb, --list-requirements-mkwiimmfi,
    • -list-requirements-tokyo, --list-requirements-kirby,
    • -list-requirements-pokemon, --list-requirements-3ds,
    • -list-requirements-other, to show only requirements for mods of specific base games.
    • Add --show-download ; only show download like for games choosen in menu or given using --game parameter.
    • Added --list-games-nsmb, --list-games-mkwiimmfi, --list-games-tokyo,
    • -list-games-kirby, --list-games-pokemon, --list-games-3ds, --list-games-other to show only mods for specific base games.
  • Misc. changes:
    • New download link for The Legend of Yoshi.
    • Update to version 2016-05-28 of The Legend of Yoshi.
    • Update to version 1.02 of New Super Mario Bros. Wii - Other World.
  • Mod additions:
    • Mario Kart Wii Fonts:
    • Added Super Mario Font.
    • Added Chalky Font.
    • Added UmePlus Font.
    • Sort files alphabetically in list.
    • Mario Kart Wii Karts:
    • Update Sonic the Hedgehog on Foot to version 1.5.
    • Add Black Mage on Wii Remote.
    • Add White Mage on Wii Remote.
    • Add Kirby on Wheelie.
    • Add Nabbit on Flame Runner.
    • Add Skull Kid on Bullet Bike.
    • Add Super Sonic on Mach Bike.
    • Add Wolf Link on Mach Bike.
  • Game additions:
  • New Super Mario Bros. Wii.
    • Add support for Cliff Super Mario Bros. Wii (SCL[PUJ]01).
    • Add support for Challenging Super Mario Bros. Wii: Virtual Special (SMN[PUJ]ZC).
  • Pokemon:
    • Add support for Pokemon Red Ruby.
    • Supply HANS configuration files for Red Ruby.
    • Add support for Pokemon Delta Emerald (patch for Alpha Sapphire).
    • Supply HANS configuration files for Delta Emerald.
    • Since the author of Delta Emerald is working on a patch for Omega Ruby aswell, the game and created files are called "DeltaEmerald-AS" [obviously they will be "DeltaEmerald-OR" for patched Omega Ruby].

v7.1.0

  • Internal changes:
    • Rewrite downloader function.
    • Supply beat BPS patcher (32 and 64 bit).
    • Add (yet unused) patching functions for PPF patches.
    • Add (yet unused) patching functions for BPS patches.
    • Code cleanup, remove duplicated code.
  • Bugfixes:
    • Fixup The Legend of Zelda - Parallel Worlds patcher.
    • Fixup --patch command line parameter.
  • Misc. changes:
    • Removed download link for Awesomer Super Luigi Mini (down).
    • New download link for RVLution Wii.
    • New download link for Newer Falling Leaf.
    • Fix download link for Midi's Super Mario Wii.
    • Fix download link for Newer Apocalypse.
    • New Super Mario Bros. Wii character mod: allow only restoring original characters without further changes
    • Update nsmbw.db.
  • Game additions:
    • New Super Mario Bros. Wii.
      • Add support for MLG Super Luigi Bros. Wii.

v7.0.0:

  • Internal changes:
    • Add PATCHIMAGE_DIR new internal variable.
    • Add PATCHIMAGE_DATABASE_DIR new internal variable.
    • Add PATCHIMAGE_OVERRIDE_DIR new internal variable.
    • Add UNP_EXTRA_ARGS new internal variable.
    • Make check_input_rom a common.sh function, prevent duplicated code.
    • Shift around some paths.
    • Update database with New Super Mario Bros. Wii mods.
    • Code review and improvements.
    • Improved Debian GNU/Linux packaging.
    • Install pre-compiled tools to /usr/lib/ARCH/patchimage (FHS compliance).
    • Improved --help message.
    • Add --list-games parameter (show buildable games).
    • --list-games and menu now show ID / Short Name and Full Name of all games.
    • Add --override-szs to override Wiims Mario Kart Fun wit and szs with the ones supplied by patchimage. Use this if building Wiims Mario Kart Fun fails due to incompatible library versions being installed.
    • Add batch mode for generating more than one mod at once.
  • Bug fixes:
    • Several minor bugfixes and improvements.
    • Before creating any of the directories defined in ${HOME}/.patchimage.rc check whether the parent directory is writeable, else fallback to ${HOME}.
    • When setting destination directory for created files, check if they are writeable, else fallback to ${HOME}.
    • Fix telling user path to Hans Files for all Pokemon game hacks.
    • Make the script more robust against directories with spaces in their names.
    • Use gdown.pl for drive.google.** download links.
    • For download links on Mega tell user where to download manually.
    • For download links on Mediafire tell user where to download manually.
    • patchimage menu showed TMS1 as ID for Tokyo Mirage Sessions #FE restoration patcher, while TMSFE was the actual (but wrong ID), thus TMS1 was reported as unknown game / wrong user input. Now TMS1 works as expected.
    • Qrchive name for Newer Super Mario Bros. Wii has changed.
  • Configuration file changes:
    • New configuration variable PATCHIMAGE_3DS_DIR, global directory where to look for unmodified 3DS ROM files.
    • New configuration variable PATCHIMAGE_ROM_DIR, global directory where to store your modified 3DS ROM files.
  • Documentation:
    • Update REAMDE.
    • Update README.RC.
    • Update README.STATUS_CODES.
    • Update README.GAMEIDS.
    • Now includes game search paths.
    • Now includes expected filenames.
  • Misc. changes:
    • Make check_input_rom search in both ${PATCHIMAGE_3DS_DIR} and ${PWD}.
    • Show full path for Hans Files for all games, instead of relative.
    • Only show path to Hans files if they exist.
    • When downloading covers for Wii games fail, retry with the US cover.
    • Don't re-download covers that already exist.
    • Don't re-download soundtracks that already exist.
    • For NSMBW character mods, Mario Kart Wii font, item and kart mods, don't download the files from the interwebs, instead use files supplied and installed with patchimage
  • Game additions:
  • New Super Mario Bros. Wii.
    • Add support for Revised Super Mario Bros. Wii.
  • Pokemon:
    • 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.
    • Add support for Pokemon Rising Ruby.
    • Provide custom Hans banner and launcher.
    • Add support for Pokemon Sinking Sapphire.
    • Provide custom Hans banner and launcher.
  • Other:
    • Add support for Bravely Second Uncensored.
    • Fully supports both EUR and USA game version.
    • Auto-detects provided game version in ${PWD} or ${PATCHIMAGE_3DS_DIR}.
    • Provide Hans configuration.
  • Game changes and updates:
    • Update download link for Pokemon Rutile Ruby to v2.1.
    • Update download link for Pokemon Star Sapphire to v2.1.

External Links

Advertising: