• 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.

[ASM & Hex] Completely new to hex stuff -- How do you know what hexadecimal bytes do in-game?

19
Posts
4
Years
    • Seen Jan 9, 2022
    So I wanted to find out where in my Fire Red 1.0 ROM I can find Oak's New Game introduction sequence so I could delete some stuff he says. Using Advance Text's delete feature didn't remove those lines from the game, just from the interface of AText, so I figured I could do it by hand. Using AText's search feature, I found the line "... inhabited far and wide by creatures called POKéMON." is located at the offset decimal of 1858838, or hex of 1C5D16.

    Okay, so I go to 1C5D16 in HxD, and... it's just a bunch of numbers (offsets and bytes) and ANSI symbols.

    My question: How do people know what offsets/pointers/hexadecimal bytes do what they do in-game?

    For example, in this thread by Cy-Chan, he says that "Fire Red's type weakness/resistance table is located at $24F050."

    In this thread by HackMew, he says the pointer for checking if the player is indoors or outdoors for running shoes is at 0xBD494 in Fire Red 1.0.

    For my own project, I want to implement key items for all HMs. Through skimming some threads, I learned I could just make CUT trees interactable NPCs that check to see if the flag for CUT has been set, and then give the CUT dialogue/animation if so. Someone mentioned somewhere about having to search for the pointer for FLY if one wishes to make it into a key item with a field effect; I haven't looked into other HMs past that.

    Are hex bytes a coding language on their own that I should start to learn? Is there a tool that can easily point me to what bytes do what? Are the pointers/offsets just reverse-engineered by removing them and booting the ROM to see what's missing?

    Thank you all for stopping by <3
     
    Back
    Top