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

Code: Complete FireRed Upgrade

239
Posts
8
Years
    • Seen Apr 15, 2024

    Complete FireRed Upgrade


    Decomp projects are in full swing, but it may be daunting to port your entire project over. This engine is a great compromise for those who want decomp-quality features in a binary hack. The source code is written almost entirely in C, and can easily be adapted to decomps when the time comes. But in the meantime, it will be an essential tool for FireRed hacks that seek to improve on the game in any way, shape, or form.

    If you are starting a new project however; I recommend you use pret's decompilation projects, pokefirered and pokeemerald, over this feature. Having the entire source code at your fingertips will allow you to do things faster, easier, and with less risk of introducing bugs.

    What Is This?
    This project is a massive engine upgrade for Pokémon FireRed. It includes an updated battle engine on par with the current generation's, including every single attack, ability, item, AI, and more. In fact, this is the only game engine in gen3 with every single move animation! In addition, it includes several game improvement features such as Expanded PC Boxes, a DexNav, dynamic overworld palettes, character customization, TM/HM expansion, a Battle Frontier, and many others (see the features list below). Most of the engine features are easily configurable to the user by simply commenting and uncommenting lines. An extensive documentation has been written to fully explain what this engine is capable of and how to use all of the features contained within.​
    In addition, most table data is untouched or is loaded directly from the rom, allowing this engine to be smoothly implemented for (most) existing hacks!​
    Attributes

    Spoiler:


    Battle Features

    Spoiler:


    Other Features

    Spoiler:


    Screenshots

    Spoiler:


    GIFs

    Spoiler:


    Videos

    Spoiler:


    Compilation Instructions

    Spoiler:


    FAQ

    Spoiler:


    Bugs

    Spoiler:

    Recommended Add-Ons

    Spoiler:

    Credits

    Spoiler:
     
    Last edited:

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • Pinned, because if any thread deserves it, this one does.

    I've been following this project since skeli brought it up on Discord and I'm so excited that its in a release state now. JPAN's engine was great back in 2009, but looking at this shows just how far everything has come in the past ten years. This is going to be mandatory for any serious FR hacker going forward <3
     

    U.Flame

    Maker of Short Games
    1,326
    Posts
    15
    Years
  • Oh, this is great! So if I were to implement this in an existing hack, how would I know if it's incompatible? Would there be an error of some sort or would I just have to find out through testing?

    Also, when it comes to hack compatibility, is there any conflict with hacks that used other rom bases like MrDollSteak's, or already implemented features like class based pokeballs? I'm assuming you can just choose not to implement features already implemented, but hopefully there's no conflict of some kind because of them.
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • A huge dynamic project that add multiple features to Pokémon Fire Red and can be easily modified by anyone, in order to fix problems or add even more new features?
    Dude, that's exactly what Pokémon Fire Red needed.

    Excellent work guys, and congratulations for reaching a publicly releasable state :D!
     
    Last edited:

    Trainer 766

    Guest
    0
    Posts
    bro if someone made a sideshow showcase hack using this base in the style of Yet Another Fire Red Hack or FireRed Advanced, everyone be wildin'.
     

    lowkey1202

    Unofficial Game Tester
    55
    Posts
    14
    Years
    • Seen Nov 20, 2023
    This is wonderful, I can't wait to see what happens now with fire red Roms and what people can do with this amazing work
     
    239
    Posts
    8
    Years
    • Seen Apr 15, 2024
    Oh, this is great! So if I were to implement this in an existing hack, how would I know if it's incompatible? Would there be an error of some sort or would I just have to find out through testing?

    Also, when it comes to hack compatibility, is there any conflict with hacks that used other rom bases like MrDollSteak's, or already implemented features like class based pokeballs? I'm assuming you can just choose not to implement features already implemented, but hopefully there's no conflict of some kind because of them.

    It *should* be compatible with most hacks, as well as most other bases. It repoints attack data and rewrites a few battle functions, but if you find any problems with other bases let us know. All customization is in src/config.h as well.
     

    thedarkdragon11

    New World Pirate
    530
    Posts
    14
    Years
  • Whoa! This one is a dream come true for many people who aren't good at scripting...

    I have a few questions:
    • Is this engine compatible with expanded ROMs (i.e. 32MB)?
    • Is this engine compatible with this fix?
    • Can this engine expand the usable map headers/names to 255 and add fly points?
     
    23
    Posts
    7
    Years
    • Seen Nov 12, 2023
    That is amazing super engine, can I know any hack is current using this engine? such like Unbound ? any other?
     
    1
    Posts
    6
    Years
    • Seen Aug 23, 2023
    First of all, I really want to thank you for your work. It sounds and looks amazing. So, I really want to set this up but I'm having a bit of a problem. I've read the CFRU documentation and managed to patch the game with the Dynamic Pokemon Expansion and also generated the test.gba with the CFRU patch. It boots up just fine, and I did follow the steps to expand the TMs modifying the src/config.h. I uncommented the necessary line and also changed the amount from 50 to 120 but when I load the rom in G3T, I'm not able to see any change at all. I do want apologize if it's because of something really simple, I'm very new at rom hacking. Dunno if it's something that I have to change in the G3T .ini file.

    I guess my question really is, how can I make sure that the TMs/HMs are expanded? Do I have to edit other Items or free spaces in the G3T to make the TMs? Because I can see the TMs are in the "include/constants/items.h" file. I just don't know how to actually work with them. Also, if I do end up having to edit the other Items or ???? spaces in the G3T, how do I actually expand the amount of items? Because after I apply the CFRU patch, it shows the same amount of items in the G3T tool and no other new items or free space to edit. If someone could help me out a bit, I'd really appreciate it.
     

    Lance Koijer 2.0

    Lance Koijer
    105
    Posts
    6
    Years
  • This is, once again, amazing and is considered already the best engine for Fire Red.
    Some questions though:
    1. Abilities and moves are expanded once the upgrade is installed. However, the items remain the same. If I am right, this does not expand the item. It has to be me that will expand it and should follow the correct Item List in Master file in order for me to get no error or else I will be modifying the list.
    2. Does this allow regional pokedex? If so, how? Or what file I should customize? I tried browsing it and I only found Pokedex and species which I don't know if editing it would be a good idea.
     

    U.Flame

    Maker of Short Games
    1,326
    Posts
    15
    Years
  • I read up on the documentation, and I think I get it for the most part. Following the installation instructions, configured the bytereplacement, config.h, and make.py. I installed Python and DevkitPro, set them up in PATH, and typed "python scripts//clean.py build" in the folder's command prompt, with the rom in the master folder named BPRE0.gba, that seemed to run fine. Then "python scripts/make.py"

    This is the result:
    Spoiler:


    It didn't output test.gba or offsets.ini as far as I can tell. Did I configure something wrong?

    Edit: It seems to have been an issue with older compilers, Skeli just pushed a fix for it and that got it to successfully compile.
    The result however, broke a lot of things. Upon naming the Player, the OW sprite is blank, although I noticed the feature of automatically switching to lowecase worked. The opening script didn't execute however, and the game shortly crashed and reset.

    I don't know if this was a result of configuration or if my hack simply isn't compatible.
     
    Last edited:

    Dr. Seuss

    Will finish GS Chronicles, I swear!
    523
    Posts
    10
    Years
  • I had to build the project using the WSL bash console since for some weird reason it never compiled using cmd/powershell. Besides that the project is the best resource ever created for FireRed. I do apprecite the effort made by the developers. It is so sad it won't work with my hack. I guess is so advanced in development so it crashesh right after the titlescreen.

    Nice job!
     
    Back
    Top