• 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

21
Posts
7
Years
  • Age 38
  • Seen Mar 19, 2024
This engine is amazing and the best tool for Fire Red hacking. Congrats for this great job!

I been hacking Emerald lately but with this, I want to try some hack with Fire Red as base.

I don't know if you accept requests or suggestions, but something that I've always missed in Fire Red is type icons to have more than 16 colors, like Emerald and following games in the series. I don't even know if it's posible loading two palettes or more for type icons in Fire Red but I think type icons that shows next to a Pokémon's healthbar in battle, included in this engine, uses two palettes and more than 16 colors. I would love to see it in this engine.
 
132
Posts
9
Years
  • Age 23
  • Seen Apr 21, 2024
Thank you so much! I added in all your recommended changes. If you're interested in proofreading more, we recently added more attack and abilities descriptions to the CFRU for the new Sword and Shield mechanics.

There wasn't much for me to edit, but I went over the Ability and move descriptions anyways and fixed a few things--

Move descriptions
Spoiler:


Ability descriptions:
Spoiler:
 
1
Posts
8
Years
  • Age 26
  • Seen Nov 14, 2020
The documentation says this is compatible with the BW/B2W2 Music Patch, but so far whenever I try patching it into the game - either before or after CFRU, it breaks the battle system: trainers make the game crash instantly, while wild battles look completely white (no background, no sprites - only the text box) until you select Pokémon/Bag (the latter which shows glitched graphics) and then go back. I'm also pretty sure there aren't conflicting offsets between the two - what could the problem be? Are they just incompatible?
 
1
Posts
6
Years
  • Age 27
  • Seen Nov 16, 2023
I'm having issues with the TM, i'd follow the steps on the documentation, but all the TM show one minus number in the TM Case.
eg: TM 01 is sees like TM00
Anyone with the same problem?
 

RichterSnipes

Not even a nibble...
513
Posts
12
Years
  • Age 30
  • USA
  • Seen Dec 1, 2023
I can't imagine the amount of hours of work put into this project. The sheer amount of features available for use makes it so there's plenty of things for everyone to be excited about using. I'm particularly interested in the Battle Tower/Frontier features of it. That's something that base FR/LG sorely lacks, and can help bolster playing time of any hack that implements it.

Congrats to Skeli-, ghoulslash, and everyone involved with this base!
 
4
Posts
6
Years
  • Age 25
  • Seen Oct 7, 2021
Hello, I have verified the great work they do, playing Pokémon Unbound Battle Tower, I just want to know if they will implement the contests (also highlighting the achievement of battle frontier), they are details that in fire red is missing to overcome the emerald, i thank you the great gift they give us with their project
 
Last edited:
31
Posts
6
Years
  • Age 25
  • Seen May 7, 2020
I'm sorry if my question sounds dumb, im really just begining to tey to make a hack. I tried to follow the instruction on the read me, but im not sure what it meat about changing the make.py to the data location. What exactly is that location supposed to mean?
 

bh02032002

Currently open for rom hack beta testing.
411
Posts
7
Years
i'm no rom hacker but i just seen this and i think pokemon rom hacking is going to skyrocket again with this engine (and yes i know i'm late)
 

Chaotix

Love to test
59
Posts
17
Years
  • Age 34
  • Seen Jan 11, 2020
I'm having an issue with the learnsets of Pokemon past the original 386. After applying the Dynamic Pokemon Expansion and CFRU and creating a script to give a Lillipup as an example, the Lillipup has no moves at all and can only struggle. Same if I set any of them to a Trainer or as Wild Pokemon. The data appears to all be correct and in the right spot from what I can see... Deoxys and lower appear fine, didn't test every single one but the few I picked all had moves. What might be causing my issue with the new Pokemon though?
 

Skeli

Lord of the Rings
300
Posts
10
Years
@Skeli
I have checked the Spritebank address "96F71C" in my hex editor. It indeed starts with FF FF followed by a lot of data. I think this is the overworld data address.

Do you think I should put 0x0896F71C in the src/config file as following:

#define EXISTING_OW_TABLE_ADDRESS 0x0896F71C

Or do I need the address of the table instead of the overworld data?
#define EXISTING_OW_TABLE_ADDRESS should be followed by the offset where there is a pointer to 0x0896F71C. For example, if you go to 0x8XXXXXX in a hex editor, you'd find 1C F7 96 08 followed by 00 00 00 00 or a pointer to another overworld table. If an offset like this doesn't exist in your rom, comment out the line, and in src/character_customization.c make 0x0896F71C the first entry in the table gOverworldTableSwitcher.

Out of curiousity, is the syntax and calls for the new mugshot system compatible with the pokeemerald disassembly, or is it too different? That aside, this engine looks absolutely amazing, and I can easily see myself breaking out some files from my old computer to retry ASM hacking again. Best of luck going forward to everyone!
It shouldn't be too different. I see no reason why it wouldn't be easily portable.

I don't know if you accept requests or suggestions, but something that I've always missed in Fire Red is type icons to have more than 16 colors, like Emerald and following games in the series. I don't even know if it's posible loading two palettes or more for type icons in Fire Red but I think type icons that shows next to a Pokémon's healthbar in battle, included in this engine, uses two palettes and more than 16 colors. I would love to see it in this engine.
I'm trying to avoid modifying the summary screen as much as possible in the CFRU. Due to there being a widely used patch for the summary screen, I don't want to write code that could accidentally conflict with it, unless absolutely necessary. If I had the source for the summary screen patch, this would be much easier. The type icons in battle are custom made, which is why they use two palettes.

There wasn't much for me to edit, but I went over the Ability and move descriptions anyways and fixed a few things[/SPOILER]
Thank you so much again! I've integrated your changes.

I'm having issues with the TM, i'd follow the steps on the documentation, but all the TM show one minus number in the TM Case.
eg: TM 01 is sees like TM00
Anyone with the same problem?
The mystery byte in the item data should be the exact Id number (meaning it should start at 1 and not 0).

Hello, I have verified the great work they do, playing Pokémon Unbound Battle Tower, I just want to know if they will implement the contests (also highlighting the achievement of battle frontier), they are details that in fire red is missing to overcome the emerald, i thank you the great gift they give us with their project
Contests will not be implemented. All contest stats were removed from the Pokemon data in order to make space for more PC boxes. If you really want contests, at that point you should just hack Emerald.

Do you need one to use this?
No, but it makes it easier to download updates.

I'm sorry if my question sounds dumb, im really just begining to tey to make a hack. I tried to follow the instruction on the read me, but im not sure what it meat about changing the make.py to the data location. What exactly is that location supposed to mean?
The location of the free space in the rom where the code will be inserted. If you don't understand this, leave the default insert offset.

I'm having an issue with the learnsets of Pokemon past the original 386. After applying the Dynamic Pokemon Expansion and CFRU and creating a script to give a Lillipup as an example, the Lillipup has no moves at all and can only struggle. Same if I set any of them to a Trainer or as Wild Pokemon. The data appears to all be correct and in the right spot from what I can see... Deoxys and lower appear fine, didn't test every single one but the few I picked all had moves. What might be causing my issue with the new Pokemon though?
I've noticed there's been a lot of confusion with this. Both the CFRU and DPE expand the movesets. I've adjusted the DPE to no longer do this unless the user specifically requests it. If you want to get them working, comment out the line #define EXPAND_LEARNSETS in this file, clean the DPE, rebuild it, then apply the CFRU to this new rom.
 

Chaotix

Love to test
59
Posts
17
Years
  • Age 34
  • Seen Jan 11, 2020
I've noticed there's been a lot of confusion with this. Both the CFRU and DPE expand the movesets. I've adjusted the DPE to no longer do this unless the user specifically requests it. If you want to get them working, comment out the line #define EXPAND_LEARNSETS in this file, clean the DPE, rebuild it, then apply the CFRU to this new rom.

Just went ahead and tried that and getting the same result. Yungoos as an example still has no moves and struggles itself to death when given to a trainer or set as a wild encounter.

Edit: I just realized they were all commented out in level_up_learnsets.c; figured it might be something like that since the default settings only assume 386 Pokemon. Gonna uncomment these and try again. Yeah that is what it needed. All good now.

Edit2: I suppose I'll ask this as well: I know from the documentation that CFRU does not assign any item data so one would have to manually enter the effect, quality, etc; but does it expand the item table to have the names and reserve the ID of every item available even if there is no data for it? I can't seem to find any of the new items after building.

Edit3: Question was answered elsewhere. It does not actually modify the item related tables but already fully supports expanded items and has all the hold effects and such complete and usable. Just repoint the tables yourself and add as few or many items as you want.
 
Last edited:
694
Posts
7
Years
  • Age 32
  • Seen Feb 22, 2024
I was hoping to update Kanto Black with this for my own personal use. I read the documentation about necessary things to do, and noticed that the Vanilla Pokemon's name's were in the species.h file. Would I have to rename all of those Pokemon to match the current Pokes in Kanto Black? It's a fairly heavily modified game so my question would be: What modifications to a hack would make CFRU unusable? Thanks!
 

Skeli

Lord of the Rings
300
Posts
10
Years
Edit3: Question was answered elsewhere. It does not actually modify the item related tables but already fully supports expanded items and has all the hold effects and such complete and usable. Just repoint the tables yourself and add as few or many items as you want.
Glad you figured it out. I'll have the FAQ updated because I've seen this question a few times now.

I was hoping to update Kanto Black with this for my own personal use. I read the documentation about necessary things to do, and noticed that the Vanilla Pokemon's name's were in the species.h file. Would I have to rename all of those Pokemon to match the current Pokes in Kanto Black? It's a fairly heavily modified game so my question would be: What modifications to a hack would make CFRU unusable? Thanks!
You would definitely need to update the species.h file to match the species list from Kanto Black. The documentation contains a full rundown of what you need to do when dealing with species. Additionally, you'd need to make sure all data (a large chunk are the flags and vars) in the config file and constants header files (like items, pokedex, trainer classes, trainer sprites etc.) is correct for Kanto Black. If you're not the creator, you'll need to do some digging to determine what you need. Lastly, many tables found in the rom (see the table compendium in the documentation) would need to be updated to account for Kanto Black's changes.

Thank you for the warning. However, this bug was fixed when the code was ported in months ago.
 
7
Posts
6
Years
  • Age 29
  • Seen Mar 11, 2023
I followed the instructions, but when I run 'python scripts/make.py', nothing happens. Not sure what I'm doing wrong here.
 
4
Posts
6
Years
  • Age 25
  • Seen Oct 7, 2021
But esmerald doesn't have all the improvements of this project, will they implement the improvements for that version? Or is it only exclusive to fire red?
 
Last edited:
Back
Top