• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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

didn't find pia carrot's post with this same thread..
maybe you are talking about another thread..there i found pia carrot's posted dropbox link.but it's about "Pokémon Gen 3 Tool Pack", not the same with this one..

hope someone puts a mirror link.that would be a great help.
ill just wait till it's fixed.
 
So this isn't really a bug, but it is an annoying non-obvious quirk of how the movepool editor is designed: if you search for free space for a number of moves, and then don't use all of those moves with the movepool (which is a good idea if you want to add to it later and not have to repoint again), you get a movepool that looks like this:

[PokeCommunity.com] Pokémon Gen III Rom Hacking Suite


This looks reasonable enough, until you see it in practice:

[PokeCommunity.com] Pokémon Gen III Rom Hacking Suite


The problem is easy enough to fix by either moving the terminator manually, making all the -- slots learned at level 101, or pushing all the empty slots to the start of the movepool. It'd be rad if the editor could do the latter on its own when saving after the repoint though instead of putting them at the end.
 
thanks a lot for the link!

i'll try this tool later..
 
heres my problem how do you open the dang thing with java or do you extract the files?

Java....? What...? I code in Python.... It is a .zip file.... There is an exe in it.... What...?


shinyquagsire codes in Java, not I.

So this isn't really a bug, but it is an annoying non-obvious quirk of how the movepool editor is designed: if you search for free space for a number of moves, and then don't use all of those moves with the movepool (which is a good idea if you want to add to it later and not have to repoint again), you get a movepool that looks like this:

[PokeCommunity.com] Pokémon Gen III Rom Hacking Suite


This looks reasonable enough, until you see it in practice:

[PokeCommunity.com] Pokémon Gen III Rom Hacking Suite


The problem is easy enough to fix by either moving the terminator manually, making all the -- slots learned at level 101, or pushing all the empty slots to the start of the movepool. It'd be rad if the editor could do the latter on its own when saving after the repoint though instead of putting them at the end.

Sure I can move them. Remind me if I forget. I will set it up to sort the movepools on saving and loading in such a fashion.

Wait.... If they are all at the beginning, won't an egg hatch with them in the same way that these learn them? In that case, I think 101 is the best bet.
 
Suggestion...
Spoiler:

Can the Speed field be moved to the last part?
YAPE and other tools have it in that format, plus, pokedex sites like serebii and bulbapedia has speed at the last part as well. =/

That will take under 30 seconds. I will make the changes and commit them within the next five minutes.
 
Hello! I'm fairly new to ROM hacking, so this is probably a pretty stupid question, but how do I assign the new Pokemon I add to the trainers in-game? Every time I try to open up the edited ROM in a trainer-editing program it either crashes or won't load the Pokemon list. I looked through this thread and have searched around elsewhere, but I can't seem to find an answer.
 
I designed a trainer tool specially for roms with either extended moves or pokémon, it can be found on github: https://github.com/SBird1337/Trainer.net. However, as far as I can remember I never actually added an XML Configuration for english roms. You would have to either research them or ask somebody to help you with that because I simply do not have the time for it.

Edit: There is also a release out somewhere: https://github.com/SBird1337/Trainer.net/releases

~SBird
 
I managed to figure it out on my own, but thanks anyway! I'm having a bit of trouble figuring out how to give them cries now though, if anyone knows how to do that.
 
I managed to figure it out on my own, but thanks anyway! I'm having a bit of trouble figuring out how to give them cries now though, if anyone knows how to do that.

I am working to get a cry editor, but until that happens they will need to be done completely manually. I would work on your other hacking skills, then once you understand repointing tables and expanding stuff, give Chaos Rush's cry tutorial a try. You will need to repoint and expand the main cry table. I only expanded the index table that says which cry each pokemon uses.
 
Do you think it would be possible to add support for animated sprites like in emerald?
 
I ran into a minor issue when inserting a new Pokemon. I can't seem to select Bubble for its moveset. Whenever I click "Bubble" I get Bubblebeam instead. Sure enough, if I go back to the list of moves, I find my cursor has jumped to Bubblebeam. Doesn't bother me too much - seriously, who cares about Bubble? But I saw it happen 4 times in a row, so it's no fluke.
 
I ran into a minor issue when inserting a new Pokemon. I can't seem to select Bubble for its moveset. Whenever I click "Bubble" I get Bubblebeam instead. Sure enough, if I go back to the list of moves, I find my cursor has jumped to Bubblebeam. Doesn't bother me too much - seriously, who cares about Bubble? But I saw it happen 4 times in a row, so it's no fluke.

I feel like I already fixed this but it wasn't done for v1.1.3. It will be in v1.2 though, along with a host of new stuff.:)

Confirmed, it is fixed. If you type BU, it will find BUBBLEBEAM because that is first on the list, but as soon as you complete BUBBLE, it cuts off the beam part and allows you to select that one. I think I am going to go recode that to find the shortest match instead of the first match. Either way it will work properly in the next update.

Edit: Wow, shortest match was so easy. Why didn't I think of that earlier?
 
Last edited:
I am working to get a cry editor, but until that happens they will need to be done completely manually. I would work on your other hacking skills, then once you understand repointing tables and expanding stuff, give Chaos Rush's cry tutorial a try. You will need to repoint and expand the main cry table. I only expanded the index table that says which cry each pokemon uses.

Alright, I have a vague idea of how to repoint tables, but I'm not sure where the cry table ends or how exactly to expand it and assign the new values to the new pokemon. The main cry table for Fire Red is the one at 0x048C914, right? That's the one I've been looking at.

I looked at Chaos Rush's tutorial and was able to get the cries in the game at least, so there's that. I can get them to play by re-pointing the cries for existing pokemon, but that's not entirely helpful.
 
Alright, I have a vague idea of how to repoint tables, but I'm not sure where the cry table ends or how exactly to expand it and assign the new values to the new pokemon. The main cry table for Fire Red is the one at 0x048C914, right? That's the one I've been looking at.

I looked at Chaos Rush's tutorial and was able to get the cries in the game at least, so there's that. I can get them to play by re-pointing the cries for existing pokemon, but that's not entirely helpful.

I don't know how long the table is. My tool repoints and expands the cry index table, which is the list of numbers that says which cry each pokemon has, however the actual cry table is what isn't repointed. I would guess that it is either 386 or 411 entries in length. It is either going to be 4 bytes or 8 bytes per entry depending upon whether it is just a pointer, or a pointer and data size. Either way, select 386 of those and then look at what is left. Does it look like the table keeps going? Then select 411 entries. Does it still keep going? Either way, take what you selected and then move it somewhere free and change all of the pointers to match the new location. Then you can just add on to the end of the table and change the index table that my tool repointed.
 
Thanks a lot, dude. This tool is awesome! Really awesome!!!

Initially I was using Yape. But, it didn't allow addition of new moves. Finding and making new space for expanding the moveset at the same time replacing the old address with FFs! Smart thinking. :)
 
KarateKid,

In this thread, https://www.pokecommunity.com/threads/321951/page-2, Chaos Rush and SBirds seem to have come up with a way of expanding the Pokedex in BPEE. Do you think it would be possible to implement that routine into the hacking suite similar to what has been done to Fire Red?

Anyways, great tool. Definitely the best when using expanded movetables etc.
 
Back
Top