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

Quick Research & Development Thread

1
Posts
5
Years
    • Age 28
    • Seen Aug 29, 2019
    [FR] A friend told me he figured out how to switch between world maps in the fly menu in Fire Red, just like the town map menu.
    This allows you to fly between the world maps.

    Just replace the first two bytes at 0xC004C with 00 00, this will make the switch button appear above the cancel button.

    He hasn't fully checked for possible bugs, however he believes there is none.

    Edit: The switch button works exactly the same way as the town map one, meaning you must unlock it first.
     
    Last edited:

    Criminon

    Forever Spriting
    265
    Posts
    11
    Years
  • Remove Mail Data from Items [FR]

    Hello Everyone,

    I started the process to remove Mail items from my game, and I noticed something odd. Even when removing all of the Mail data from the items, and essentially turning them into held items, the game still recognized them as Mail.

    I'm assuming there is a table somewhere with these. Using the link below, I have looked through the hex to try to find any errors with the program I was using to edit:

    Item Data Structure Gen III

    [S-HIGHLIGHT]C0 E9 E6 00 CA D5 E8 D7 DC FF E9 E6 FF 00 82 00 F4 01 00 00 60 6B 3D 08 00 00 01 04 39 22 0A 08 00 00 00 00 00 00 00 00 00 00 00 00[/S-HIGHLIGHT]

    This is the item below. Nothing in here links back to mail, however it still displays the mail icon, etc. I have also tried also searching for a table, unfortunately with no luck.





    EDIT:

    Placing [S-HIGHLIGHT]C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46[/S-HIGHLIGHT] at 980FA will completely remove the check for Mail Items making these act as normal items. (Items 0x79 - 0x84 will then be cleared up and function as standard items)

    Credits to Skeli for finding this. (Thank you man!)
     
    Last edited:

    rubenturen

    Also Known as: Canned Brain
    51
    Posts
    5
    Years
  • like it awards them the exp but then you look at it outside of the battle, and it shows that no pokemon were awarded exp?

    no, it shows (inside the battle) that the others than the ones you used got 0 exp.
    but it did show that it got exp just it sayed 0.
     
    142
    Posts
    10
    Years
  • so I've been looking at the contents and... do we really not know the offset for Fire Red's experience gain formula? there is for Emerald but not for Fire Red. All i need is add a multiplier to it xd
     
    Last edited:
    81
    Posts
    7
    Years
    • Age 30
    • Seen today
    Remove Mail Data from Items [FR]

    Hello Everyone,

    I started the process to remove Mail items from my game, and I noticed something odd. Even when removing all of the Mail data from the items, and essentially turning them into held items, the game still recognized them as Mail.

    I'm assuming there is a table somewhere with these. Using the link below, I have looked through the hex to try to find any errors with the program I was using to edit:

    Item Data Structure Gen III

    [S-HIGHLIGHT]C0 E9 E6 00 CA D5 E8 D7 DC FF E9 E6 FF 00 82 00 F4 01 00 00 60 6B 3D 08 00 00 01 04 39 22 0A 08 00 00 00 00 00 00 00 00 00 00 00 00[/S-HIGHLIGHT]

    This is the item below. Nothing in here links back to mail, however it still displays the mail icon, etc. I have also tried also searching for a table, unfortunately with no luck.





    EDIT:

    Placing [S-HIGHLIGHT]C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46[/S-HIGHLIGHT] at 980FA will completely remove the check for Mail Items making these act as normal items. (Items 0x79 - 0x84 will then be cleared up and function as standard items)

    Credits to Skeli for finding this. (Thank you man!)

    Remove Mail Data from Items [Ruby]

    A2F2E: C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46
     
    Last edited:
    81
    Posts
    7
    Years
    • Age 30
    • Seen today
    Adding New Evolution Methods[Ruby]

    Spoiler:


    Routine by FamiliaWerneck:

    Spoiler:


    Male:

    Spoiler:


    Female:

    Spoiler:


    Move:

    Spoiler:
     
    Last edited:
    81
    Posts
    7
    Years
    • Age 30
    • Seen today
    EV-enhancing items (Power Items)[Ruby]
    [/SIZE]

    The routine now does not require any new Held Effect Item Byte. The new power items are tied to Macho Brace's Held Item Effect Byte. (Thanks to MrDollSteak for giving the idea.)
    The type of EV gain is now differentiated by the Second Held Effect Byte (the byte just after the Primary Held Effect Byte in the Item Table).
    There is no need to code the Speed Drop explicitly for Power Items.

    Usage is now like this by using the following parameters in the Item Table:
    Primary Byte | Secondary Byte | Item Name
    0x18 | 0x0 | Macho Brace
    0x18 | 0x1 | Power Weight
    0x18 | 0x2 | Power Bracer
    0x18 | 0x3 | Power Belt
    0x18 | 0x4 | Power Anklet
    0x18 | 0x5 | Power Lens
    0x18 | 0x6 | Power Band

    Also, there are additional byte changes mentioned in the Spoiler to limit the EVs for each stat from 255 to 252 to avoid wastage of EVs by normal battling.

    For Ruby:

    Spoiler:
     
    Last edited:
    15
    Posts
    4
    Years
    • Age 30
    • Seen Jun 16, 2019
    Does anyone know how to change the world maps for maps 2-4 in fire red?
     

    RichterSnipes

    Not even a nibble...
    513
    Posts
    12
    Years
    • Age 31
    • USA
    • Seen Dec 1, 2023
    I don't know if this has been posted before, but whatevs. It came to my attention today that the bag in FireRed crashes if a "main" pocket has more than 42 items (the normal max for regular items). I had always assumed the malloc was done based on a multiple of the numbers inputted at the routine beginning 0x08099E44, because the TM pocket works fine even with over 100 items, but apparently the berry/TM cases mean they run off of something different. Anyhow, to allow for sufficient malloc requests, change ".equ largest_pocket_size" to your new max and insert this:
    Spoiler:
    EDIT: I haven't done much testing. I've only thrown like 60 items into the general items pocket before I got bored & assumed this routine was the only problem.

    Info on 0x08099E44: http://www.pokecommunity.com/showpost.php?p=9014911&postcount=2018
    Does this modification have any notable side effects? And what limits does it have? I can't imagine that it's a no-strings-attached enhancement. The more in-depth bag expansion codes in the ASM Resource Thread either take over space dedicated for the "Previously" system or rewrite the save function altogether to utilize JPAN's Save Block Recycle hack.
     
    124
    Posts
    8
    Years
    • Age 38
    • Seen Apr 5, 2024
    Hi everyone, I got a quick question I'm sure after all these years you might have an answer. I'll try to make it as small as possible. Here it is:

    I wanna be able to give whatever pokemon I choose to a person and or whatever is on my top slot, and that person will give me another one right back. For example, I want to give a person my charizard and I want that person to give me back another Charizard with obviously different stats, I have an idea on how to implement it on my hack, i just dont know how i could script it or what or which vars to use. Thanks guys
     
    264
    Posts
    11
    Years
    • Age 25
    • Seen Apr 9, 2024
    264
    Posts
    11
    Years
    • Age 25
    • Seen Apr 9, 2024
    The newdex order in Crystal(U) is at offset 40D60.

    Here is a fuller list, I don't think I've missed any:
    Spoiler:
     
    Last edited:
    2
    Posts
    7
    Years
    • Age 25
    • Seen Sep 15, 2019
    Disable "The Pokemon Stopped Evolving." [FR]

    FR has a feature that if you attempt to evolve a Pokemon into something not in the Kanto Dex (and you don't have the National Dex), it will mysteriously stop evolving. You could just give the player the National Dex at the beginning of the game, but if you don't want to do that, you can easily disable this.

    Basically, this will turn some conditional jumps into unconditional jumps, and remove some checks. No free space required.

    Code:
    0x08043156: 02 E0
    0x080CE90C: 1C E0
    0x080CF566: 17 E0
    0x08126C26: C0 46 C0 46 C0 46 C0 46
    0x08126C4C: 08 E0

    The code explaining the above byte changes is:

    Spoiler:


    Hey, I'm new at coding and whilst making a minor edit hack for Pokemon Leaf Green, I had a few questions regarding this; Firstly, and this might be a dumb question, am I able to simply change out the text from firered to leafgreen? Secondly, where would I put this script? I've only writen one script and have had only a few days of experience in writing scripts. Thank you in advance ~
     
    788
    Posts
    17
    Years
    • Age 29
    • Seen yesterday
    Disable "The Pokemon Stopped Evolving." [FR]

    FR has a feature that if you attempt to evolve a Pokemon into something not in the Kanto Dex (and you don't have the National Dex), it will mysteriously stop evolving. You could just give the player the National Dex at the beginning of the game, but if you don't want to do that, you can easily disable this.

    Basically, this will turn some conditional jumps into unconditional jumps, and remove some checks. No free space required.

    Code:
    0x08043156: 02 E0
    0x080CE90C: 1C E0
    0x080CF566: 17 E0
    0x08126C26: C0 46 C0 46 C0 46 C0 46
    0x08126C4C: 08 E0

    The code explaining the above byte changes is:

    Spoiler:


    Hey, I'm new at coding and whilst making a minor edit hack for Pokemon Leaf Green, I had a few questions regarding this; Firstly, and this might be a dumb question, am I able to simply change out the text from firered to leafgreen? Secondly, where would I put this script? I've only writen one script and have had only a few days of experience in writing scripts. Thank you in advance ~

    It's not a script, it's ASM written for armips. But beyond that, I wasn't expecting people to literally assemble the code with armips, you would just make the listed byte changes in a hex editor (the armips code does exactly those byte changes); it was just there as an explanation and documentation.

    LG's offsets are not the same as FR. To port it from FR to LG, you'd have to find the LG equivalent of each FR offset listed (0x08043156, 0x080CE90C, etc). I don't know the LG equivalents, and I have no inclination to look them up. Nobody hacks or researches LG because there's really no point; you could turn FR into a clone of LG with minimal effort and from a gameplay perspective that'd be identical but you're not needlessly handicapping yourself by actually starting from LG. If you want to use a Kanto-based game as your base, I strongly advise that you use FR.
     
    Last edited:
    2
    Posts
    7
    Years
    • Age 25
    • Seen Sep 15, 2019
    Alright, Thank you for responding. Truth be told, I just had the LG ROM already on my computer and wanted to mess around with it, I didn't know the two were different beyond version exclusives and title screen. I'll try looking it up because I've put in a bit of work already, but if I can't find anything I'll get an FR ROM and start over. That much shouldn't be too hard.
     
    Back
    Top