v7.2.0: ::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 ::bug fixes - Pokemon Star Sapphire was accidently called Alpha Sapphire in the menu, also had wrong Short ID ::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 ::game additions :::Pokemon - 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. - archive 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 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 - provide custom HANS banner and launcher - add support for Pokemon Neo Y - choose between full and lite version - provide custom HANS banner and launcher - 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, instead of system-wide (if) installed - simple progress [x/y] visualization for Tokyo Mirage Sessions #FE - minor internal changes v6.2.1: - support for MKWiimm 2016-07 - update MKWiimm 2016-02 to v2 - update Tokyo Mirage Sessions #FE patcher for version 0.9.4 of the patch - update szs to 1.52 v6.2.0: - code improvements for MKWiimm - supply xdelta3 (32 and 64 bit versions) - supply titledumper (32 and 64 bit versions), for use with ddd - add support for Tokyo Mirage Sessions #FE US/EUR decensoring - add --xdelta and --cpk parameters - use ${WIT} instead of wit when checking image region for MKWiimm and Kirbys Adventure Wii - minor internal changes v6.1.0: - update szs to version 1.50a - update title database - show "Enter ID (...)" message at the end of menu - show "ID Name" header/footer in menu - show proper version number in --help - support for new MKWiimm config.def variables ID >= 29 - default set: - MSGLANG1 = - - MSGLANG2 = E - set from ~/.patchimage.rc - TRACKLANG = x,${MKWIIMM_MSG_LANG} - CTRENAME = ${MKWIIMM_CTRENAME} - REORDER = ${MKWIIMM_CTREORDER} - see README.RC for more infos - support for MKWiimm 2015-08 (ID 29) - support for MKWiimm 2015-12 (ID 30) - support for MKWiimm 2016-02 (ID 31) - support for The Legend of Yoshi (SMN?66) - support for Remixed Super Mario Bros. Wii (SMN?60) - support for Ghostly Super Mario Boos. Wii (SMN?65) - update wit/wszst override for MKWiimm - if you can't build MKWiimm, set MKWIIMM_OVERRIDE_SZS=TRUE in ~/.patchimage.rc to use supplied tools, that the case on Debian GNU/Linux Stretch or Sid - update link to Wiimmfi-Patcher (Generic) - unused Patchimage uses "wit cp --wiimmfi" instead - update link to Wiimmfi-Patcher (Mario Kart Wii) - update for Wiimmfi-Patcher script changes v6.0.0: - update szs to version 1.40a - add support for MKWiimm 2015-05 - support for replacing characters in NSMBW v5.4.0: - fixed major bug creating MKWiimm: image was not saved to proper destination directory (now everything's fine) - update wit to version 2.31a - update szs to version 1.39a - add support for MKWiimm 2015-03 - add support for creating multiple MKWiimm at once - add support for replacing karts in MKWiimm The madness begins, feel free to test this out. downloaded karts are prefixed mkwiimm_kart_ to avoid naming collision with fonts and items (3-chars.szs naming-scheme) . Original files are backed-up in ${PATCHIMAGE_RIIVOLUTION_DIR}/ \ ${GAME}_SZS/ - for example /home/chris/Hacks/RMCP27_SZS/ and restored every time when you change your selection on the same game. . Your choices are saved into ${HOME}/.patchimage.choice, if you want to modify another MKWiimm with the same settings, simply enter y when the script asks you whether you want to apply your previous settings, else enter n for new choices. . No dummys were harmed during the making of this feature - downloaded fonts for MKWiimm are now prefixed mkwiimm_font_ - downloaded items for MKWiimm are now prefixed mkwiimm_item_ - 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 non-recent Debian GNU/Linux). . If creating anything newer than RMCP26 (2015 versions) the tools will be never overriden (for now, does not work yet). v5.3.0: - update wit to 2.30a - update szs to 1.36b - update link for MKWiimm 2014-01 to v2 - update link for MKWiimm 2014-02 to v3 - update link for MKWiimm 2014-04 to v4 - add support for MKWiimm 2014-11 - fixed bug that ${MKWIIMM_GAME_LANG} from ${HOME}/.patchimage.rc is not honoured - only apply wiimmfi patcher for pre 2014 MKWiimm (starting with 2014 the supplied patcher supports wiimmfi out-of-the-box) - add support for SMN?YL: Luigi's Super Yoshi Bros. - add support for SMN?FL: Newer: Falling Leaf v5.2.0: - add support for SMN?MI (Midi's Super Mario Wii - Just A Little adventure) - add support for SMN?DU DarkUmbra SMB Anniversary Edition - add support for SMN?ZA Newer Apocalypse - add exit code 81 (hack does not support supplied game version) v5.1.0: - remove MKWIIMM_GAME_LANG from patchimage.rc (sets the language for the patcher only, so not required at all) Thanks @Leseratte for the hint. - fixup debian packaging scripts - add exit code 69 (wiimmfi failed) and 75 (wrong user-input) - proper error-code providing and exiting in mario kart wiimm, mario kart wiimm font, mario kart wiimm items, wiimmfi mario kart and wiimmfi generic modules v5.0.1: - fix bug in mario kart wiimm items (did not properly work) v5.0: - mario kart wiimm: when choosing all RMCP25 (Fun 2014-04) was not build (RMCP06 - RMCP24 were built "only") - mario kart wiimm items: backup the original common.szs on first customization of a game - mario kart wiimm fonts: support changing font in mario kart v4.98: - mario kart wiimm: when building mario kart wiimm from scratch use the wiimmfi mario kart patcher, not wiimmfi generic. Also some string changes and more detailed info on current step - supply wit 2.29a and szs 1.35a - always use supplied tools (don't fallback to system ones) v4.97: - changed IDs in the game selection menu (old A..Z for Wii, 1..9 for ROMs / new 1....99 ; example: NSMB1, NSMB2, NSMB3) - mkwiimm_items: support for exchanging items in Mario Kart Wii (your item choices are saved and can be re-used, so if you want to modifiy more than one Mario Kart you only have to choose the items once for all mods) v4.96: - wiimmfi/mkwiimm/kirbywii: minor improvements and fixups - support RVLution Wii (a NewSMB Mod) - update README.GAMEIDS - update WinterMoon link to v1.2.3 - added gdown.pl (google-drive downloader) by circulosmeos v4.95: - fixed storing NewSMB mods into ${PATCHIMAGE_GAME_DIR} - added support for exchanging first player's character in Kirby's Adventure Wii (using someone different than one of the different Kirbys may crash the game) v4.94: - wiimmfi generic: use correct version of wit - wiimmfi mario kart: major code simplification and major speed-up (as we now symlink the old images rather than copying) - mkwiimm support. Download and build any Mario Kart Wiimm distribution and patch it to use Wiimms custom server (thus patching process takes longer as there are two steps now). The old patchers will all work, because the outdated versions of the provided tools will be overriden. - new patchimage.rc options: MKWIIMM_GAME_LANG either de (german) or en (english) mkwiimm game language MKWIIMM_MSG_LANG either de, de+ (german) or en, en+ (english) mkwiimm message language. de+ and en+ also change all other languages to german or english MKWIIMM_SHARE_SAVE either 1=ja (yes) or 2=nein (no) whether to share save with the original game if you set them they will be applied for all mkwiimm patchers and no further user interactions with the wiimm patcher is needed. - NOTE: error-handling for mkwiimm, wiimmfi generic and wiimmfi mario kart is not yet complete v4.93: - various fixups - wiimmfi generic: show game titles next to id when showing available images - wiimmfi generic: only offer those games to be patched that are wfc-enabled (according to gametdb) - add support for Super Mario Skyland (SMN?ZY) v4.92: - wiimmfi mario kart: check if user-provided input is correct - wiimmfi generic: add generic wiimmfi patcher (only one game at a time) v4.91: - update my mail address - fixed downloading soundtracks - when using wiimmfi stuff, ask whether to patch all or a specific image - previously --soundtrack would download the soundtrack and exit. Now it does no longer exit. - added --only-soundtrack (download soundtrack for selected game and exit) - added --covers (download covers for selected game) - added --only-covers (download covers for selected game and exit) - added mkwiimm.db ("database" containing all RMC??? IDs for MKWiimm) v4.90: - support wiimmfi patcher. All RMC??? images in the current directory or all RMC??? images in ${PATCHIMAGE_WBFS_DIR} will be patched to use the new server. patchimage will download and prepare the wiimmfi-patcher, check the directory for RMC??? images (.iso and .wbfs), create a copy of your image for the patcher, let Wiimm's patcher do it's work, move the new image to ${PATCHIMAGE_GAME_DIR}. . Ensure both variables are set in ${HOME}/.patchimage.rc v4.0: - bugfix: fix looking for already downloaded riivolution files in ${PATCHIMAGE_RIIVOLUTION_DIR} - bugfix: fix looking for original game iso in ${PATCHIMAGE_WBFS_DIR} - bugfix: if the directories set in ${HOME}/.patchimage.rc don't exist let the script create them - bugfix: fix paths for NewerSMBW (seems they changed the way the latest release is packaged slightly) - bugfix: download files with __tmp suffix, so that faulty downloads cause re-download the next time it is tried - bugfix: make use of ${PATCHIMAGE_PATCH_DIR} when building Retro Remix, fixing the openingTitle for PAL and US - bugfix: fix applying openingTitle for PAL and US in NSMBW4 - bugfix: updated download link for NSMBW3 (downloading works again) - bugfix: don't apply wiiStrap from NSMBW3 on PAL (black screen on start) - added meaningfull exit codes to the script (see: EXIT_CODES for more info) - annoy the user with messages (eases finding bugs, as you now see when the script stopped working) and make wit quiet - do all operation in ${PWD}/workdir (which removed on each start) - support for Awesomer Super Luigi Mini (WIP) v3.1: - bugfix: for NSMBW3 on US games the language files weren't updated - bugfix: for Super Mario: Mushroom Adventure PLUS - Winter Moon on US games the language files weren't updated - bugfix: for Super Mario: Mushroom Adventure PLUS - Winter Moon on non-US games the supplied OpeningTitle does not work, so don' use it - support for Super Mario Vacation v3.0: - bugfix: don't exit with error on check_input_image as we will call check_input_image_special aswell - bugfix: WIT got the image name wrong if the image was detected using check_input_image_special - bugfix: if PATCHIMAGE_RIIVOLUTION_DOWNLOAD from $HOME/.patchimage.rc was not honoured by the script - bugfix: if riivolution patch existed in PATCHIMAGE_RIIVOLUTION_DIR (set by $HOME/.patchimage.rc) it was not properly handled - bugfix: actually utilize PATCHIMAGE_WBFS_DIR if set from $HOME/.patchimage.rc - move Newer Super Mario Bros. Wii image detection into own function, so that the function is duplicated over all NSMB patch scripts - make it possible to use system-wide installed wit, uips, unp and applyppf3 (if installed, else use the ones in tools/) - make it possible to install patchimage system-wide (running from unpacked archive as before still works aswell) - added debian packaging scripts - support for Super Mario: Mushroom Adventure PLUS - Winter Moon - support for NSMBW3: The Final Levels v2.5: - add opening titles for NSMBW 4 and Retro Remix (PAL, US) by alejandroues - add ucat and unp utilites (perl script to detect archive type and extract it) - add support for $HOME/.patchimage.rc (see README.RC) v2.4: - fixed downloading NewerSMBW - added support for New Super Mario Bros. Wii Retro Remix NOTE: on PAL/NTSC-J the game has the original opening title (there's only a opening title for NTSC-U) - add savegame hack to Epic Super Bowser World - add savegame hack to Newer: Holiday Special - add savegame hack to New Super Mario Bros. 4 - leave a message where the file was created - removed patches/03-06.arc.LH (NewerSMBW 1.02 includes it) - moved NSMBW detection in a function (no more duplicated code) - fixed pre-requisite checking for Koopa Country - fixed handling .zip/.rar files with spaces in the name v2.3: - add support for New Super Mario Bros. 4 - fixed building JPN version of NewerHoliday v2.2: - change ID for Koopa Country to SMN?10 - fix handling .rar files for riivolution patches v2.1: - --clean no longer removes riivolution .zip files - only remove (if already existing) the wbfs file we are going to build, prior to do so, not all wbfs files in the directory - fixup support for Cannon SMBW (now built properly) - add download-link for Cannon SMBW v2.0: - --download Parameter (lädt Riivolution-Daten mit wget herunter) - --soundtrack Parameter (lädt Soundtrack mit wget herunter) - --banner Parameter (benutzt einen custom Banner) - --download-banner Parameter (lädt einen custom Banner mit wget herunter) - wit auf Version 2.22c aktualisiert - uips hinzugefügt - Loader-Patches von DMM auf aktuellem Stand - README hinzugefügt - GAMEIDS hinzugefügt Unterstützung für folgende neue Spiele: * Another SMBW * Newer Summer Sun * Newer Holiday Special * Epic Super Bowser World * Cannon SMBW [ungetestet] * Koopa Country * The Legend of Zelda - Parallel Worlds - diverse (Fehler)-Korrekturen, Verbesserungen und Umstrukturierungen v1.2: - Autoerkennung der Spielversion (EURv1, EURv2, USAv1, USAv2, JPNv1) - Fehlerbehebung bei Bearbeitung von USA/JPN-Versionen - --sharesave Parameter - --customid Parameter - unzip-Ausgabe nach /dev/null v1.1: - neue patches für EURv2, USAv1, USAv2, JPNv1 hinzugefügt (DMM) - Holländisch wird ebenfalls berücksichtigt - kleinere Verbesserungen am Code - --version= Parameter (zur Angabe der Spielversion) v1.0: - erste Version