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

[Script] Firered Special 0x20 0x21

4
Posts
2
Years
  • Hello, I have been editing a hackrom, and I wanted to test the link battles and link trades, but I have noticed that it is somewhat unstable, the connection is established but, sometimes at a random moment the connection drops out of nowhere. If I remember correctly the special 0x20 and 0x21 correspond to the Battles and Trades function, but I don't know what offsets the rom is in and I would like to know where it is to check if changes were made without realizing it. I know the Special Table starts at 15FD60, but I don't know where it ends.

    Does anyone know the offset of the special 0x20 and 0x21? Or where does the Special table end?

    Additionally, I am also interested in knowing what function the other specials fulfill in Fire Red. Thanks in advance.
     
    449
    Posts
    6
    Years
    • Seen today
    Does anyone know the offset of the special 0x20 and 0x21? Or where does the Special table end?
    Each special is a 4 byte function pointer. Thus the pointer for special 0x20 starts 4*0x20 = 0x80 bytes after the start of the table.

    Additionally, I am also interested in knowing what function the other specials fulfill in Fire Red. Thanks in advance.
    You can find a list of specials with descriptive names here.
    For example if we want to find the name for special 0x20: The special definitions start at line 11 in the file, 0x20 in decimal is 32, the definition for special 0x20 is on line 11+32=43:
    Code:
    def_special EnterColosseumPlayerSpot

    You can then search for the function name to find the code for it if you want to see what it does.
     
    4
    Posts
    2
    Years
  • Each special is a 4 byte function pointer. Thus the pointer for special 0x20 starts 4*0x20 = 0x80 bytes after the start of the table.


    You can find a list of specials with descriptive names here.
    For example if we want to find the name for special 0x20: The special definitions start at line 11 in the file, 0x20 in decimal is 32, the definition for special 0x20 is on line 11+32=43:
    Code:
    def_special EnterColosseumPlayerSpot

    You can then search for the function name to find the code for it if you want to see what it does.

    Oh cool, that was a very accurate answer, thank you very much for that and your time.
     
    Back
    Top