• 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 Trading Card Game 2 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.

[Other] New to Hacking, Especially Decomp Hacking. Need Help Finding Certain Things.

  • 37
    Posts
    1
    Years
    • Seen Apr 6, 2025
    I'm fairly inexperienced in hacking, however, I was playing around with the Pokemon Randomizer and I thought some of the changes would be really neat if I could control them. I decided to hack FireRed since it's effectively the first game but with at least some modern features (Abilities, Dark & Steel Types, etc.). Of course, what I initially found were hex hacking tools, and I found this site looking for guides and help on how to use certain features, see if better tools were available, etc. That's when I read about the decomp hacking and wanted to give it a try. I have FireRed and agbcc set up (I had to used Cygwin, in case that comes up), and I kind of understand some of the files, but I'm having trouble finding some things. I have been trying to look through the tutorials, but most of them are focused on Emerald, and not all files are the same in FireRed.

    Anyway, here are the primary things I want to do:
    • Restore original names of Pokemon, characters, and locations (yes, I'm kind of a weeb). Also remove the annoying ALL CAPS.
    • Adjust stats, Abilities, moves (learned, Egg, TM/HM, and Tutor), and Types to both better fit the Pokemon and to try to make every final form Pokemon useful.
    • Make Pokemon easier to catch (especially first forms), and them evolve faster (earlier forms gain levels more quickly and even adjust when evolution occurs).
    • Make it possible to obtain every Pokemon (basically a controlled "Catch 'em All" mode from the Randomizer).
    • Alter move Power, Accuracy, and/or PP to match modern games.

    Ideas I've had, but don't know how difficult they would be to implement:
    • Add the Fairy Type.
    • Add Fairy moves.
    • Set whether Attack or Special Attack is used based on the move and not the move Type (like Gen 4 to present).
    • If the above is possible, add moves to balance the number of physical and special attacks (likely based on the move pools of modern games).
    • Have trainer battles scale with the party's levels.
    • Have gym battles scale with the number of badges the player has, peaking once the player becomes Champion. Also, allow Gym Leader rematches.
    • If the above is possible, allow the player to start from any city (except Cinnabar Island, unless a non-Surf way to get to and from there is possible). Also remove most (if not all) obstacles preventing advancing in the game.
    • Add Pokemon evolutions introduced in later games (Tangrowth, Magnezone, Togekiss, etc.).
    • I'm sure more ideas will pop in my head as I work on this, but this is all I can think of for now.

    Now, to the main reason I'm posting this. I've been going through the files and found where a lot of stat info is located. What I haven't found is where Pokemon names are stored. I was curious if there was a tool like YAPE or PGE that worked with decomped files. If not, would someone please help point in the right direction to get me started on this? I am a quick learned with this kind of thing, but I do need things spelled out on a very basic level at first.

    Thanks in advance for any help. I hope I haven't annoyed too many of you already.

    EDIT: I found the file with the 'Mon names. Still, if there was a better tool that just editing in Notepad++, I'd love to know about it.
     
    Last edited:
    For your question about a better editor -- there are several editors you can use for C development, and each person can have their own opinions about what is best. You could start out with Visual Studio Code, since it is free and flexible. You can also search for things across the whole workspace with with Ctrl + Shift + F. With searching, you can find a lot of things.

    For example, it looks like the type ids are declared in `include/constants/pokemon.h`. This snippet starts on line 95:
    Code:
    // Pokemon types
    #define TYPE_NONE           255
    #define TYPE_NORMAL         0
    #define TYPE_FIGHTING       1
    #define TYPE_FLYING         2
    #define TYPE_POISON         3
    #define TYPE_GROUND         4
    #define TYPE_ROCK           5
    #define TYPE_BUG            6
    #define TYPE_GHOST          7
    #define TYPE_STEEL          8
    #define TYPE_MYSTERY        9
    #define TYPE_FIRE           10
    #define TYPE_WATER          11
    #define TYPE_GRASS          12
    #define TYPE_ELECTRIC       13
    #define TYPE_PSYCHIC        14
    #define TYPE_ICE            15
    #define TYPE_DRAGON         16
    #define TYPE_DARK           17
    #define NUMBER_OF_MON_TYPES 18

    Hope this helps!
     
    Last edited:
    Thanks for the response. I really appreciate it.

    Thanks for the editor suggestions. What I meant was more of a dedicated tool, like Porymap, but worked like YAPE where you could edit Pokemon names, attacks, stats, Pokedex, etc. in one place. I have been looking around the site, but between work and trying to figure out the files (which I've gotten a better handle on), I haven't been able to search too deeply yet.

    Right now I'm flipping between finding/altering location names (that took awhile to find since it wasn't a standard .h file), going through the dialogue to get rid of the ALL CAPS (you don't realize just how much dialogue is in a game until you have to go through it), and adjusting Pokemon stats. Obviously, the most complex stuff is lowest on my list. Hopefully by that point I can re-familiarize myself with C and learn the scripting enough to understand everything and hopefully do some things on my own.
     
    Back
    Top