• Our software update is now concluded. You will need to reset your password to log in.
  • Please note that the site will be down briefly around 10AM EST, 22 February, for planned maintenance.
  • Welcome to PokéCommunity! Register now and join one of the best places on the 'net to talk Pokémon and more! Community members will not see the bottom screen advertisements.
  • Want to share your adventures playing Pokémon?
    Check out our new Travel Journals forum for sharing playthroughs of ROM Hacks, Fan Games, and other Pokémon content!
  • IMPORTANT: Following a takedown request, the following hacks have been delisted from PokéCommunity:

    • Pokémon Glazed
    • Pokémon: Giratina Strikes Back
    • Pokémon Flora Sky
    • Pokémon Stranded
    The downloads and discussion threads for these hacks will no longer be accessible, and staff will be unable to return questions regarding accessing this content.

Code: Complete FireRed Upgrade

239
Posts
7
Years
  • Age 31
  • Seen Nov 12, 2023

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,105
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
  • Age 11
  • 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
 
3
Posts
4
Years
  • Age 34
  • Seen Apr 14, 2022
This looks amazing! Thanks for all the hard work and will definitely try it out!
 
239
Posts
7
Years
  • Age 31
  • Seen Nov 12, 2023
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
527
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
  • Age 29
  • 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
  • Age 29
  • 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
5
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

[b]Navegando en mi automóvil, hablando con la nena
522
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