• 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!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Red, Hilda, Paxton, or Kellyn - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • 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.

How do I find and work with Tables within the code.

  • 853
    Posts
    4
    Years
    • Seen Nov 9, 2023
    I want to make some mechanics changes and etc. pretty much everything important I could change is in some table somewhere, but I don't know how to find or read the data, should I find the right offset.

    What should I use, can I find and edit a table with asm, a hex editor, or would I need to use a decompiler and disassembly?

    For things like adding type icons how could I repoint or add new type icons.

    I'd also want to change or access functions, like the stat formula, or specific species data.
    I've seen that info in what i believe is an disassembly post but I'm not setup for that, so was wondering if I could find and make changes I need in asm.
     
    For anyone that's following this thread I just wanted to give a quick update instead of just deleting this.
    It's not solved (as I haven't figured it all out) but I've learned a bit more and I'm linking my other thread where I discuss that with this one.

    and everything you can do in hex/asm you can do in disassembly, the reason they say disassembly is easier to work with, is because of the restrictions to hex I discovered in my other thread. But certain tools you can get around that, but I believe it would have to be built to deal with each table you find, to allow it to handle whatever function you want to implement.

    While disassembly you can just go in and rearrange things provided you can understand what you're reading, nothing really hidden or obscured to my knowledge, but disassembly takes a lot more steps to get setup before you can get started.

    Doable, but requires multiple installations and following some somewhat complex tech instructions, but guides are available of course.

    Edit, Ok that was wrong, looks like all that's needed for editing disassembly is notepad, and understanding of the language structure.
    All the other stuff is just needed to create the rom once you've changed everything you want. What I can't figure is where specifically in the offsets the changes you make get stored once compiled.

    That would make it easier to apply my binary stuff after.
     
    Last edited:
    @Meister_anon~Master_o f_None

    I just want to make a few things clear and give some advice.

    In the current world of ROM Hacking Gen III games you can choose between two distinct methods, binary hacking and using the decomps/disassemblies. The difference between those two methods is that you work with already compiled data in case of binary hacking, while you work with the source code in case of the disassemblies. Effectively this leads to the following pros and cons for binary hacking (there are probably more):

    Pros:
    - Accessibility, you can work with this pretty much without coding experience
    - A lot of tutorials available, especially for Fire Red

    Cons:
    - Buggy Tools and data corruption
    - Worrying about free space and repointing data
    - Disjointed data (especially when working on a big project)

    You choose either of the two methods at the start of your project. The methods can't be used interchangebly.

    Then onto the advise: most people don't like to read very long messages. If you want help/advise on a specific subject, write concise and specific questions. Also, there is a lot of info already available on Pokecommunity, people like to see that you took effort to find the answer yourself before asking here. It would be a good idea to take a few tutorials (like Anthroyd's Gen III Video Series on Youtube) to get a good idea about binary hacking and how it works. Some of the questions you have will probably be answered in any tutorial you might find.
     
    You choose either of the two methods at the start of your project. The methods can't be used interchangebly.

    Then onto the advise: most people don't like to read very long messages. If you want help/advise on a specific subject, write concise and specific questions. Also, there is a lot of info already available on Pokecommunity, people like to see that you took effort to find the answer yourself before asking here. It would be a good idea to take a few tutorials (like Anthroyd's Gen III Video Series on Youtube) to get a good idea about binary hacking and how it works. Some of the questions you have will probably be answered in any tutorial you might find.

    Alright couple questions,

    I really can't go into source code and edit some files with notepad and then compile a rom from that,
    And then put it into my binary tools, and add events, or edit pokemon data?

    Or patch it with changes I made from another rom of the (sortof) same base, I'd assume it would work if the binary path didn't overwrite the offsets of the disassembly stuff? Don't know if I can control where in the data my changes would be applied but...

    Also using notepad is the proper way to edit those .c and .h files right?

    Finally if I setup devkit arm45 w msys2 on a up-to-date windows 10, do I still need to install, a linux subsytsem before I can compile?


    Thanks in advance for any insights you provide.



    And yeah I've been researching but I just need that connecting knowledge to put the stuff I've found together. Anthroyd vids explain every possible facet and cover your questions before you can even think to ask them. While most things I've seen here are tailored to people within those fields already so there isn't a lot of re-explaining the very base knowledge newbies like me need.

    At that point its like watching a tutorial on how to properly care for your car engine when you don't even know what the heck a car is?
    I learn stuff but can't apply it yet.
     
    @Meister_anon~Master_o f_None

    I really can't go into source code and edit some files with notepad and then compile a rom from that,
    And then put it into my binary tools, and add events, or edit pokemon data?
    Practically, no. 90% of the tools won't be compatile with that.

    Also using notepad is the proper way to edit those .c and .h files right?
    Notepad or Notepad ++ should be fine.

    Finally if I setup devkit arm45 w msys2 on a up-to-date windows 10, do I still need to install, a linux subsytsem before I can compile?
    No idea.

    Thanks for advice, I've watched most all of Anthroyd's video series, that's really what got me into this stuff in the first place.
    And yeah I've been researching but the only way to avoid asking question where in answer already exists would be if I want through every single page of those massive research threads, or comprehensive guides.
    Use Google: Pokecommunity AND ''the thing you want to change'', you could also check the first post of the quick research and development thread. A lot of smaller pieces of info are in that thread.

    I just need that connecting knowledge to put the stuff I've found together. Anthroyd vids explain every possible facet and cover your questions before you can even think to ask them. While most things I've seen are tailored to people within those fields already so there isn't a lot of re-explaining the very base knowledge newbies like me need.

    At that point its like watching a tutorial on how to properly care for your car engine when you don't even know what the heck a car is?
    I learn stuff but can't apply it yet.
    Persistance is key. I started roughly 3.5 years ago and had no idea what I was doing back then. I still managed to finish an overhaul hack with one complete region a year ago. First tries will not always work out, let it be and work on something another aspect. Throughout the process you gain knowledge and you will possibly know how to fix your earlier problem.
     
    Persistance is key. I started roughly 3.5 years ago and had no idea what I was doing back then. I still managed to finish an overhaul hack with one complete region a year ago. First tries will not always work out, let it be and work on something another aspect. Throughout the process you gain knowledge and you will possibly know how to fix your earlier problem.

    welp can't disagree with that. Maybe I'm just still in that newness phase, I've been learning a lot every day, or at least something new or solving one problem or at the least a piece of it every day.

    Really disappointed with the incompatibility of disassembly roms, and binary hacks. That seemed like the fastest way to my goals, thanks.
    I'll probably try it anyway, see what I can learn from that.
     
    welp can't disagree with that. Maybe I'm just still in that newness phase, I've been learning a lot every day, or at least something new or solving one problem or at the least a piece of it every day.

    Really disappointed with the incompatibility of disassembly roms, and binary hacks. That seemed like the fastest way to my goals, thanks.
    I'll probably try it anyway, see what I can learn from that.

    You don't edit a ROM directly in decomp; you edit the source files, and then build it.
     
    You don't edit a ROM directly in decomp; you edit the source files, and then build it.

    I kinda got that part, but thanks. if you've got any indepth tips , or things I should avoid doing I'd appreciate that though.
    What I want to do is mess around with abilities, and other mechanics like status or evs.
     
    Back
    Top