• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Pokémon Gen III Rom Hacking Suite

173
Posts
11
Years
  • Seen Jan 2, 2015
Would this work on a Japanese Fire Red rom? More specifically, Pokemon Golden Sun? If so, then which offsets would I edit in the .ini?
 

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
  • Seen Apr 2, 2024
I spy with my little eye a little new feature......

gGEtG.jpg

...Are you serious, after I had JUST done did via hex editor. But seriously, this is a great and handy addition to already such a great tool. Are you going to add tabs for the other pokedex modes? Like type mode, A-Z mode...
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
...Are you serious, after I had JUST done did via hex editor. But seriously, this is a great and handy addition to already such a great tool. Are you going to add tabs for the other pokedex modes? Like type mode, A-Z mode...

I honestly don't know. I have talked to doesntknowhowtoplay and MrDollSteak on this. There is a discrecpancy on how those operate. Some people think as long as the Pokemon is in a habitat, it will appear in the other lists using its stats and dex entries for ordering (which makes the most sense, the other way would have been painstaking stupid for GameFreak to do). Other people believe that there are special lists. I honestly have no idea. If someone does the research, I'll do the coding.:P

Would this work on a Japanese Fire Red rom? More specifically, Pokemon Golden Sun? If so, then which offsets would I edit in the .ini?

It won't support the Japanese Character set. I don't have a Japanese computer and I can't speak Japanese and therefore I can't make a Japanese version of this tool. So, yeah.

Also, editing the hacks of others, unless explicitly permitted, is against those unwritten rules rom hackers follow.
 
173
Posts
11
Years
  • Seen Jan 2, 2015
I honestly don't know. I have talked to doesntknowhowtoplay and MrDollSteak on this. There is a discrecpancy on how those operate. Some people think as long as the Pokemon is in a habitat, it will appear in the other lists using its stats and dex entries for ordering (which makes the most sense, the other way would have been painstaking stupid for GameFreak to do). Other people believe that there are special lists. I honestly have no idea. If someone does the research, I'll do the coding.:P



It won't support the Japanese Character set. I don't have a Japanese computer and I can't speak Japanese and therefore I can't make a Japanese version of this tool. So, yeah.

Also, editing the hacks of others, unless explicitly permitted, is against those unwritten rules rom hackers follow.

No. I don't really wanna "screw around" more or less just "check", about the evolutions. I wasn't gonna go and change anything. I just wanted to confirm. Unless there is another way to confirm?
 

MrDollSteak

Formerly known as 11bayerf1
858
Posts
15
Years
I honestly don't know. I have talked to doesntknowhowtoplay and MrDollSteak on this. There is a discrecpancy on how those operate. Some people think as long as the Pokemon is in a habitat, it will appear in the other lists using its stats and dex entries for ordering (which makes the most sense, the other way would have been painstaking stupid for GameFreak to do). Other people believe that there are special lists. I honestly have no idea. If someone does the research, I'll do the coding.:P

I've edited the type list for my rombase, and from what I gathered.
It's a central table listing index numbers. But for some strange reason, immediately after the normal entries, there is a random string of other bytes that is seemingly unrelated to the actual table, but if tampered with, freezes the game once the list is touched.

This implies there may infact be hard coding involved.
I am yet to try extending this or looking at the specific ASM that has these pointers.

I'll edit this post soon to tell you the offsets of the type list at least, though the others should be just as easy to find.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
No. I don't really wanna "screw around" more or less just "check", about the evolutions. I wasn't gonna go and change anything. I just wanted to confirm. Unless there is another way to confirm?

I see. Umm, without knowing the offsets, I would say it would be pretty tough to check anyways,

I've edited the type list for my rombase, and from what I gathered.
It's a central table listing index numbers. But for some strange reason, immediately after the normal entries, there is a random string of other bytes that is seemingly unrelated to the actual table, but if tampered with, freezes the game once the list is touched.

This implies there may infact be hard coding involved.
I am yet to try extending this or looking at the specific ASM that has these pointers.

I'll edit this post soon to tell you the offsets of the type list at least, though the others should be just as easy to find.

Hmmm, interesting.... Keep me updated. (Personally, we should just make a new routine that actually does this the right way. A look up table is stupid when all the info you need is in the stats and such)

I tried it, I edited the FFFFFFFF with the pointer next to-*sweatdrop* that wasn't the right pointer I was supposed to edit...

Lol.:P
 

Superjub

Pokémon Aureolin
2,288
Posts
16
Years
I've got two more small questions. :)

1) How do you add Pokedex entries etc. for the Pokemon between Celebi and Treecko, if it's possible? Every time I try adding a Pokedex entry and repointing it it never saves. :s I can always extend the Pokedex and put the Pokemon there instead but I was just wondering if it's possible. :)
2) Is it possible to view the new Pokemon in AdvanceMap, perhaps by changing the ini? I've tried messing around with some things but nothing's happening as of yet.

Sorry if I'm asking dumb questions. xD I am really enjoying the tool so far. :D
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
I've got two more small questions. :)

1) How do you add Pokedex entries etc. for the Pokemon between Celebi and Treecko, if it's possible? Every time I try adding a Pokedex entry and repointing it it never saves. :s I can always extend the Pokedex and put the Pokemon there instead but I was just wondering if it's possible. :)
2) Is it possible to view the new Pokemon in AdvanceMap, perhaps by changing the ini? I've tried messing around with some things but nothing's happening as of yet.

Sorry if I'm asking dumb questions. xD I am really enjoying the tool so far. :D

1) Yes, you need to take the number in the ini that is numberofnondexpokesbetweencelebiandtreeko and change it to 0. Then you can edit the entries. Beware that this can cause funky things if you expand after, so my advice is do your expanding then change it if you are going to expand. (but as you said, why use them if you are expanding?:P)

2) No. You need to wait for MEH or do it with a hex editor. That is Lu-Ho's poor coding decision.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Your really making some of the most boring/difficult things so simple.
Thank you for taking the time to do this for everyone.

Sure... I did it for you guys.....:P JK, thanks man, I appreciate it! I plan to add lots more boring things made simple. Especially move graphic expansion. Those tables are a pain.:P (Uh-oh, now you know my master plan for the future..... crap....)
 

Superjub

Pokémon Aureolin
2,288
Posts
16
Years
1) Yes, you need to take the number in the ini that is numberofnondexpokesbetweencelebiandtreeko and change it to 0. Then you can edit the entries. Beware that this can cause funky things if you expand after, so my advice is do your expanding then change it if you are going to expand. (but as you said, why use them if you are expanding?:P)

2) No. You need to wait for MEH or do it with a hex editor. That is Lu-Ho's poor coding decision.

Ah, thanks for answering! :D And that's cool about the AdvanceMap, most of the new Pokemon I'm going to add are evolutions anyway since I'm not including all the current Pokemon, so it's not a big deal! :D
 
23
Posts
13
Years
  • Seen Jun 19, 2020
Wow. This tool is really impressive, and I'm glad there's more people working on cross-platform tools.
It's kind of funny we both had to write the same algorithm (GBA's lz77) in the same language (python) when we could have shared it.
Regarding the code itself, I see some things which could be improved here and there. Is the code under any license? Would you mind if I opened some github issues and sent pull requests?
Anyway, thank you for your work!
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Wow. This tool is really impressive, and I'm glad there's more people working on cross-platform tools.
It's kind of funny we both had to write the same algorithm (GBA's lz77) in the same language (python) when we could have shared it.
Regarding the code itself, I see some things which could be improved here and there. Is the code under any license? Would you mind if I opened some github issues and sent pull requests?
Anyway, thank you for your work!

Not at all. I have wanted to improve it, but you know, refactoring sucks and I want to add more features rather than redo code that works, lol.

Don't bother switching the global variables and stuff like that over. I am slowly getting away from that as I go back through my code (as can be evidenced by my new instance of the Globals class which is soooo much better, lol).

As for licensing, it is under the MIT license. So anything goes as long as credit and source code are available.
 
15
Posts
10
Years
  • Age 30
  • Seen Jun 15, 2023
I think the ease of use that comes with this tool is one of its best features. So glad amazing people like you exist.

Currently, I'm working on implementing Fairy into Emerald without replacing a type, working as best I can based off of the tutorial for Fire Red. I think I've got it, but I don't really have any way to test it right now; did a little messing around with the Suite here in an earlier version of this hack, which seems to have broken YAPE's ability to work with it. I'll just quote the post detailing exactly what I did in spoilers here...

Spoiler:

Any ideas on how to get the suite to recognize Fairy as a type so I can assign it to different pokemon?


Also, hope you don't mind, but I do have a peripheral question as long as I'm here asking. I saw a little conversation earlier (in this thread, I think) on the topic of utilizing those empty spaces after Celebi versus expanding entirely. Would I be correct in assuming, then, that it's wiser and/or simpler to just bypass those completely and just expand for more room if more than 25 new slots is needed?
 

MrDollSteak

Formerly known as 11bayerf1
858
Posts
15
Years
I think the ease of use that comes with this tool is one of its best features. So glad amazing people like you exist.

Currently, I'm working on implementing Fairy into Emerald without replacing a type, working as best I can based off of the tutorial for Fire Red. I think I've got it, but I don't really have any way to test it right now; did a little messing around with the Suite here in an earlier version of this hack, which seems to have broken YAPE's ability to work with it. I'll just quote the post detailing exactly what I did in spoilers here...

Spoiler:


Any ideas on how to get the suite to recognize Fairy as a type so I can assign it to different pokemon?


Also, hope you don't mind, but I do have a peripheral question as long as I'm here asking. I saw a little conversation earlier (in this thread, I think) on the topic of utilizing those empty spaces after Celebi versus expanding entirely. Would I be correct in assuming, then, that it's wiser and/or simpler to just bypass those completely and just expand for more room if more than 25 new slots is needed?

Change the Type Names and Type Number in the .ini for your rom to match the new information.
I don't know why you'd even try to use YAPE when this is here :P
 
15
Posts
10
Years
  • Age 30
  • Seen Jun 15, 2023
Change the Type Names and Type Number in the .ini for your rom to match the new information.
I don't know why you'd even try to use YAPE when this is here :P

I'd already updated typenames to the new pointer and set numberoftypes = 19; should've mentioned that earlier. Tried setting it to 22 as well after a suggestion from ShyRayq, the OP of that guide, no luck. I'm wondering if the issue is with Emerald itself - I've tried a couple different variations of adding Fairy to the list of typenames with no success so far. I'm not sure if I'm just approaching that aspect wrong or if there are some other fundamental differences. Specifically, that the first new type introduced in Fire Red is assigned 0x16 - I don't know why this is, so I don't know whether it's likely to be different in Emerald.

Went for YAPE only after I couldn't get it to work in the Suite because I had it installed and others in that thread had success with it. Can't say it helped me much.

Edit: Holy crap I'm a moron, you meant for my rom specifically. I totally forgot that it was separate. Trying it now, thank you.
Edit2: IT WORKED. Thank you for helping me through that.
Edit3: Needs work. Type effectiveness doesn't seem to apply and Zigzagoon is appearing as "Cool" type. Which is interesting. Still, again, one massive obstacle bypassed (through the conveniently placed side tunnel I failed to notice).
Edit4: Needs significant work. Tried manually changing Zigzagoon's type and found that 0x12 through 0x16 are occupied by the contest names. Using 0x17 displays Flying type with red letters and weird background and forces a restart of the emulator. 0x18 and 0x19 display a similarly distorted but also upside-down Normal type and causes a freeze. 0x1A displayed corrupted but right-side-up Normal type but the game continued to run. No clue how to proceed, but I'll figure something out. Although I've noticed the background colors for ??? (0x09) don't match the ones in the palette I used...
 
Last edited:

MrDollSteak

Formerly known as 11bayerf1
858
Posts
15
Years
I'd already updated typenames to the new pointer and set numberoftypes = 19; should've mentioned that earlier. Tried setting it to 22 as well after a suggestion from ShyRayq, the OP of that guide, no luck. I'm wondering if the issue is with Emerald itself - I've tried a couple different variations of adding Fairy to the list of typenames with no success so far. I'm not sure if I'm just approaching that aspect wrong or if there are some other fundamental differences. Specifically, that the first new type introduced in Fire Red is assigned 0x16 - I don't know why this is, so I don't know whether it's likely to be different in Emerald.

Went for YAPE only after I couldn't get it to work in the Suite because I had it installed and others in that thread had success with it. Can't say it helped me much.

Edit: Holy crap I'm a moron, you meant for my rom specifically. I totally forgot that it was separate. Trying it now, thank you.
Edit2: IT WORKED. Thank you for helping me through that.
Edit3: Needs work. Type effectiveness doesn't seem to apply and Zigzagoon is appearing as "Cool" type. Which is interesting. Still, again, one massive obstacle bypassed (through the conveniently placed side tunnel I failed to notice).
Edit4: Needs significant work. Tried manually changing Zigzagoon's type and found that 0x12 through 0x16 are occupied by the contest names. Using 0x17 displays Flying type with red letters and weird background and forces a restart of the emulator. 0x18 and 0x19 display a similarly distorted but also upside-down Normal type and causes a freeze. 0x1A displayed corrupted but right-side-up Normal type but the game continued to run. No clue how to proceed, but I'll figure something out. Although I've noticed the background colors for ??? (0x09) don't match the ones in the palette I used...

The reason why it's 0x16 in Firered is because of the image. 0x12 to 0x16 are used in the TM list for Type, Name etc. 0x16 is actually Effect, though it's never used in the rom (from what I've seen so far.)
You need to locate the actual image of the type chart in Emerald and then replace one of the images, or add it to the end. Then work out what index that is and use that.
 
Back
Top