Hey guys, I could use some help. I am having trouble applying the PPF patches that are needed to fix some games - eg lemmings sound fix.
This program is released under GPLv3 license, check the LICENSE file for details.
UMD Patcher (v0.2.1b) is a CLI-based program made to patch ISO-formatted UMD rips.The idea started when I tried to create a patch for SAO Infinity Moment to convert the game files to the fan-translated version (by exorcizamus) and around the same time I found an active translation project so I decided to contribute. The CLI program is hardcoded with all values needed to patch this game, you only need the dependencies, which I've uploaded here for now:
-> Download
What it does:
extract 'INSTALL.DAT' from 'SAO.iso' with '7-zip.exe'
rename 'INSTALL.DAT' to 'data.bin'
decrypt 'data.bin' with 'pgdecrypt.exe'
rename 'data.bin.decrypted' to 'install-jp.dat'
unpack 'install-jp.dat' with 'quickbms.exe' to 'install-jp' folder
put 'install-jp' folder in reproductible archive named 'install-jp.tar' using 'tar.exe'
patch the archive to 'install-en.tar' using 'xdelta.exe'
extract 'install-en.tar' archive with '7-zip.exe' to 'install-en' folder
pack 'install-en' folder to 'INSTALL.cpk' using 'cpkmakec.exe'
rename 'INSTALL.cpk' to 'INSTALL.DAT'
extract 'EBOOT.BIN' from 'SAO.iso' with '7-zip.exe'
decrypt 'EBOOT.BIN' and create 'EBOOT.BIN.dec' with 'deceboot.exe'
patch 'EBOOT.BIN.dec' to psp-compatible 'EBOOT.BIN' using 'xdelta.exe'
make backup of 'SAO.iso' to 'Backup' folder
autoreplace 'INSTALL.DAT' and 'EBOOT.BIN' in 'SAO.iso' using 'WQSG_UMD.exe' or give the choice replace the files manually with 'UMDGen.exe'
How to manually replace the files with UMDGen:First run the patch and select Manual, then when everything is completed open your Japanese ISO in UMDGen.exe and go to:
Drag and drop INSTALL.DAT here (click Yes when asked to replace). Then, always in UMDGen.exe go to:
Drag and drop EBOOT.BIN here (click Yes again when asked to replace). After that, open the File menu (top-left in UMDGen):
Select the destination folder and click Save, wait for UMDGen to finish the process. That's all, congrats! You now have an English (BETA) version of SAO Infinity Moment. Stay tuned because there will be updates later.
Notes for PPSSPP users:Before using the new patched ISO, there are a few things you should do to in order to be able to continue playing from where you left in the Japanese version without losing any progress.
First, run the Japanese version as usual and load your most recent save state;
Walk Kirito to a save point (changing areas = auto save, e.g. just enter the town);
Don't move and quit PPSSPP (any progress you do from here will be lost);
Delete the old INSTALL.DAT from '...ppssppmemstickPSPSAVEDATANPJH50701INSTALLINSTALL.DAT'
Make a backup of '...ppssppmemstickPSP' just in case you messed something up and need to restore your save states later;
Now run the patched (English) ISO that you just made and select 'DATA INSTALL' in SAO main menu (it will freeze for a minute or two, the time needed to extract INSTALL.DAT from the ISO to the PPSSPP memstick)
Go to the main menu again and click 'CONTINUE'
Enjoy.
I recommend to not use your old save states, because they can crash the game (it happened to me). The pre-patch save states will still be in Japanese, at least all the game content of the areas you have explored will still be in Japanese because that's how PPSSPP cached them. Your future save states will obviously be all in English (as far as the patch goes with the translation), if you resumed playing as I explained above and if you didn't load from pre-patch save state.
Tools - This repository has no 3rd party tools attached but it still requires dependencies to run, some are open source and free and others are freeware, these need to be replaced with a working alternative, for example UMDGen.exe is a discontinued project, but I haven't found any alternatives besides WQSG_UMD.exe which is buggy and unstable. If you know any tool that could be used, you can open an issue or contact me on the gbatemp forum here: my account. If you're skilled in C++ programming and want to contribute, check the WQSG_UMD_kkMod repository.
Patcher - The patcher is a CLI program, there's no GUI for now, it doesn't really need one but I plan to make something like an old-school loader in the future, midi song included.
For Translators - I'm working on a separate program to make it easier for translators to generate xdelta patches that will be used with UMD Patcher in the future. I plan to merge this other program together with UMD Patcher when everything is ready.
Beta Testing - The program needs thorough testing on different versions of Windows, I've tested on Windows 7 64-bit and can confirm it works at least on this. The current version of WQSG_UMD.exe is confirmed to be causing issues with Windows 10.
GNU/Linux Ports - Most of the dependencies already have versions that run on GNU/Linux, tools like UMDGen can be used with Wine too. Mainly only the batch file needs to be ported. At this moment I've no GNU/Linux installations, any contribution would help a lot.
.xdelta patch file (you can make it on your own if you're a translator, or use the test patch already included at the download link in the beginning of this article).
Note - Some of the programs listed above have newer versions but I haven't tested them. These versions are confirmed working, except WQSG_UMD.exe which is buggy and doesn't run well on Windows 10.