For the record this is just as doable if you want to migrate from a Spanish/German/French/Italian gen 3 game, but there's only so much space in a title and this is an English board. I've only included patches for English but I'm including details on how to do it, and if people want to make some for other languages I will gladly add it to this first post.
Download the patch: HeartGold - SoulSilver
For those of you who just want to use this and don't give a crap about how it works, follow these simple steps:[*]If you don't have them already, you'll need CrystalTile2 and Tsukuyomi UPS (or any UPS patching tool). I've tailored this guide/patch to work with any HG/SS ROM, no matter how much anti-anti-piracy, translation, etc. crap you've applied.[*]Open your HG/SS ROM with CrystalTile2 (you can ignore the small window that pops up when you first open the program) and go to Tools>NDS File System.[*]A new window will pop up with a long list of files. Scroll down until you see the one labeled "overlay9_0074", right click it, and select export. Save the file anywhere you like.[*]Open Tsukuyomi UPS and select "apply patch to an existing file". Use the file you exported as the target file and apply the patch that corresponds to your game.[*]Switch back to CrystalTile and right click the same file as last time, then select import and browse to your patched "overlay9_0074.bin". You're done! Save the ROM and you're ready to start migrating from your English GBA games.
(UPDATE) Or better yet, watch them:
Now for details. I'd done this before on D/P/Pt but HG/SS's overlay files are compressed, so it wasn't as simple as the find and replace it had been in D/P/Pt. Initially this had me stumped because although I knew the files were compressed (and there's documentation around on how they're compressed), I am not much of a programmer and didn't have any tool to help me decompress the files. Yesterday though I realized that the function was included in CrystalTile2, a program that has been sitting on my desktop for some months but never got fully explored. Fail.
Anyway, just right click a compressed overlay in CrystalTile's NDS filesystem explorer and you'll have the option of decompressing and saving it or opening a decompressed file and compressing it to that location. The process once you've got the decompressed overlay (#74) is easy enough; do a text search in a hex editor for AXVJ. It'll find a small list of game IDs for the 3rd gen pokemon games in which you can replace all J's with the letter corresponding to your language and vice versa. Save and compress/insert the edited overlay and you're good to go. Any 4th gen game can be hacked to accept any third gen game in a similar manner.
Hope this is useful to someone!
A big thanks to Mewtwo2000 who originally showed me how to do this for D/P.
Download the patch: HeartGold - SoulSilver
For those of you who just want to use this and don't give a crap about how it works, follow these simple steps:[*]If you don't have them already, you'll need CrystalTile2 and Tsukuyomi UPS (or any UPS patching tool). I've tailored this guide/patch to work with any HG/SS ROM, no matter how much anti-anti-piracy, translation, etc. crap you've applied.[*]Open your HG/SS ROM with CrystalTile2 (you can ignore the small window that pops up when you first open the program) and go to Tools>NDS File System.[*]A new window will pop up with a long list of files. Scroll down until you see the one labeled "overlay9_0074", right click it, and select export. Save the file anywhere you like.[*]Open Tsukuyomi UPS and select "apply patch to an existing file". Use the file you exported as the target file and apply the patch that corresponds to your game.[*]Switch back to CrystalTile and right click the same file as last time, then select import and browse to your patched "overlay9_0074.bin". You're done! Save the ROM and you're ready to start migrating from your English GBA games.
Now for details. I'd done this before on D/P/Pt but HG/SS's overlay files are compressed, so it wasn't as simple as the find and replace it had been in D/P/Pt. Initially this had me stumped because although I knew the files were compressed (and there's documentation around on how they're compressed), I am not much of a programmer and didn't have any tool to help me decompress the files. Yesterday though I realized that the function was included in CrystalTile2, a program that has been sitting on my desktop for some months but never got fully explored. Fail.
Anyway, just right click a compressed overlay in CrystalTile's NDS filesystem explorer and you'll have the option of decompressing and saving it or opening a decompressed file and compressing it to that location. The process once you've got the decompressed overlay (#74) is easy enough; do a text search in a hex editor for AXVJ. It'll find a small list of game IDs for the 3rd gen pokemon games in which you can replace all J's with the letter corresponding to your language and vice versa. Save and compress/insert the edited overlay and you're good to go. Any 4th gen game can be hacked to accept any third gen game in a similar manner.
Hope this is useful to someone!