Jump to content

What do I use to edit TM/HM compatability?


Recommended Posts

The narc file that contains TM/HM data (a/0/1/6) is the same for both the English and Japanese ROMs so they're interchangeable. Just make your changes with the programs Andibad suggested, extract the narc file, then reinsert it into the English ROM. It should work. Or you could insert the narc file from your English ROM into a clean Japanese one, make your edits and extract it, then insert it into the English ROM.

Link to comment
Share on other sites

The narc file that contains TM/HM data (a/0/1/6) is the same for both the English and Japanese ROMs so they're interchangeable. Just make your changes with the programs Andibad suggested, extract the narc file, then reinsert it into the English ROM. It should work. Or you could insert the narc file from your English ROM into a clean Japanese one, make your edits and extract it, then insert it into the English ROM.

does that narc contain the data for which pokemon can learn which TMs and HMs?

Link to comment
Share on other sites

Crap I forgot to reply to your PM >>;;

Yes, the a/0/1/6 narc is what contains the TM/HM. The way it works in the hex is that near the end of each Pokémon's data in the narc there's a string of hex numbers that represent the TM/HM compatibility. The first byte represents TMs 1 - 8, the second 9 - 16, etcetera in groups of 8. Once you reach 80, it goes 81 - 88, then 89 - HM01 since there is no 96. The final one is HM02 - HM06.

These hex numbers represent binary digits; if for example you took a random Pokemon's first TM hex and converted it to binary you might get a string like 01101010. The important thing to note is that it's in REVERSE; that is, the first digit there represents TM8, not 1, and it drops down as you go right. Then the next byte, once converted to binary, has digits representing it in the order 16-9 and so on.

In that example - 01101010 - that means the Pokemon would be able to learn TM07, TM06, TM04 and TM02 because all of those are represented with a 1. The other four TMs are not learnable by the Pokémon due to being represented by a 0. It's the same for all of them, although of course the final one will only have five digits as only five things are represented.

There's two ways you can figure out new things; stick the binary combo you want in the Windows calc, convert it to hex and put it in or you can do it manually via converting between base 16/base 2. Let's use an example 00000000, representing TM89 - HM01. The first byte hence represents HM01. Now if we want to make the Pokémon learn HM01, we change the string to 10000000. It's an unsigned byte so it goes between 0 - 255. The value of a binary number doubles each time you go to the left, as it's multiplied by 2 each time. As such, that string is equal to 128 in decimal, which is also equal to 2^7. So you figure out 128 in hex (128 / 1.6 = 80) so you put 80 as the hex value, and that means the Pokemon will learn HM01 but none of the other moves in that string.

Say you wanted 10000001, letting it learn TM89 as well. The least significant bit here represents 1, hence the total is 128 + 1 = 129. This is also transferred to hex by 80 + 01, hence you would put in 81 for the correct setup. If you wanted 10000101, that'd be 128 + 4 + 1 = 133, or 80 + 01 + 04, which means you'd put in 85, and so on and so forth.

I probably went a bit further than I had to with that but that covers some of the basics for anyone unfamiliar with hex. Of course, that's the archaic method, and using that tool and transferring the narc over will work just as well.

Link to comment
Share on other sites

Okay, I understood what you said Drayano, but is all that still in the a/0/1/6 narc or something different.

And now for everyone, for that tool, I would have to download a Japanese Pokemon Black ROM, edit it, and take out the narcs that got changed and reinsert them into an english rom?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...