Applying ROM hacks isn't the easiest of things to do. First you have to unpack everything, then play around with files, then repack everything, and if you're going to use HANS, you have to trim the first 0x1000 bytes.
I plan to simplify the process. I've been working on a ROM editor of sorts that outputs a distributable ROM patcher. This patcher can patch decrypted .3DS ROMs and romfs.bin files outputted by braindump. It can output to Gateway compatible .3DS files or to hans. Cia support might come in the future.
The patcher works for me, but things always tend to go wrong when someone else uses it. So, I've made patchers forPokemon Rutile Ruby and Pokemon Star Sapphire by @Dio_Vento. I'm looking for people with either a Gateway or the ability to use HANS to try either patcher, and let me know if things break. Be sure to make regular backups. I'm not liable if your computer explodes.
In order to use this, you must have the .Net Framework 4.6 installed. Also, ctrtool needs msvcr120.dll, which comes with the Visual C++ Redistributable for Visual Studio 2013.
Instructions:
-Download your choice of zip. Don't forget to unblock it (Right-click > Properties > General > Security > Unblock.
-Extract the zip using your favorite archive tool.
-Run DSPatcher.exe
-Choose a ROM. 3DS, CXI, and romfs.bin are supported. If you choose romfs.bin, an exefs.bin file will be used if it is in the same directory as romfs.bin.
-Press patch.
-Wait. Sorry about the UI hanging, I'll fix this sometime before an official, non-alpha/beta release.
-If you're using a .3DS file, you'll be given the option to output to Hans or .3DS. Braindump users will only be able to output to Hans. If you're using a .CXI file made using Braindump, select Hans, because if you choose .3DS, it will not run.
-Choose an output path. Either a .3DS file (for gateway), or the root of your SD card (for Hans)
-Wait until the progress bar says "Ready".
-Try the game out, see if it works.
Downloads:
Star Sapphire 2.0 - Legit Build (Patcher Alpha 4)
Star Sapphire 2.0 - Leveled Build (Patcher Alpha 4)
Star Sapphire 2.0 - 679 Build (Patcher Alpha 4)
Star Sapphire 1.3 (Patcher Alpha 4)
Rutile Ruby 1.2 (Patcher Alpha 3)
Star Sapphire 1.2 (Patcher Alpha 3)
The crossed out ones are older, but should properly output Gateway compatible ROMs.
Credits:
@SciresM for writing 3DS Builder, which I modified to add command-line argument support.
Neimod, for writing ctrtool.
Joshua MacDonald, for writing xdelta.
If you're curious, the "alpha 3" in the filename is the version of the patcher. It will be changed to "alpha 4" or higher if I update the patcher.
[Edit 4/5/16 (that's m-d-yy format btw)]
I've released a newer version of the Star Sapphire patcher which should resolve issues with the newer version of Hans. Additionally, it should preserve the source game's private header if it has one.
This is a newer version of the patcher included with Sky Editor 4 Beta 2, but it should also have better Hans compatibility. Please try it out and let me know if it works. I think this could make making ROM hacks significantly easier in the future, so help me help you help us all.
[Edit 4/7/16]
Added new modpacks for each build of Star Sapphire 2.
I plan to simplify the process. I've been working on a ROM editor of sorts that outputs a distributable ROM patcher. This patcher can patch decrypted .3DS ROMs and romfs.bin files outputted by braindump. It can output to Gateway compatible .3DS files or to hans. Cia support might come in the future.
The patcher works for me, but things always tend to go wrong when someone else uses it. So, I've made patchers for
In order to use this, you must have the .Net Framework 4.6 installed. Also, ctrtool needs msvcr120.dll, which comes with the Visual C++ Redistributable for Visual Studio 2013.
Instructions:
-Download your choice of zip. Don't forget to unblock it (Right-click > Properties > General > Security > Unblock.
-Extract the zip using your favorite archive tool.
-Run DSPatcher.exe
-Choose a ROM. 3DS, CXI, and romfs.bin are supported. If you choose romfs.bin, an exefs.bin file will be used if it is in the same directory as romfs.bin.
-Press patch.
-Wait. Sorry about the UI hanging, I'll fix this sometime before an official, non-alpha/beta release.
-If you're using a .3DS file, you'll be given the option to output to Hans or .3DS. Braindump users will only be able to output to Hans. If you're using a .CXI file made using Braindump, select Hans, because if you choose .3DS, it will not run.
-Choose an output path. Either a .3DS file (for gateway), or the root of your SD card (for Hans)
-Wait until the progress bar says "Ready".
-Try the game out, see if it works.
Downloads:
Star Sapphire 2.0 - Legit Build (Patcher Alpha 4)
Star Sapphire 2.0 - Leveled Build (Patcher Alpha 4)
Star Sapphire 2.0 - 679 Build (Patcher Alpha 4)
Star Sapphire 1.3 (Patcher Alpha 4)
Star Sapphire 1.2 (Patcher Alpha 3)
The crossed out ones are older, but should properly output Gateway compatible ROMs.
Credits:
@SciresM for writing 3DS Builder, which I modified to add command-line argument support.
Neimod, for writing ctrtool.
Joshua MacDonald, for writing xdelta.
If you're curious, the "alpha 3" in the filename is the version of the patcher. It will be changed to "alpha 4" or higher if I update the patcher.
[Edit 4/5/16 (that's m-d-yy format btw)]
I've released a newer version of the Star Sapphire patcher which should resolve issues with the newer version of Hans. Additionally, it should preserve the source game's private header if it has one.
This is a newer version of the patcher included with Sky Editor 4 Beta 2, but it should also have better Hans compatibility. Please try it out and let me know if it works. I think this could make making ROM hacks significantly easier in the future, so help me help you help us all.
[Edit 4/7/16]
Added new modpacks for each build of Star Sapphire 2.
Last edited by evandixon,