[FE8] More Than Two Promotions


i was thinking of looking into this recently


I’m looking into this right at this moment


I presume the patch only works on a vanilla FE8 ROM? I assume so, but the ASM file doesn’t specify where to put the data, so I’m feeling unclear as to what to do if a hack is already in progress.

Of course, I’m early enough into the process that I could restart if needed, but it’d be great to be clear.


her hack just overwrites the vanilla code, there is no function being put somewhere else


Soooooooooooooo where do I paste the ASM then?


You can apply the patch to a ROM that’s been edited. Just check ‘ignore’ or ‘notify’ in NUPS. If you want to know what offsets get changed, use the ‘Get Patch Data’ option (you can also use this as a hint for where the assembly might need to go).


I actually tried doing that to my randomized rom, and the rom borked badly.

However, get patch data is a neat tip. Thanks.


So, how exactly do you set what the third promoted class is?


Promotion table at 0x8EFBB00

First byte is the tier 1 class, second byte is the new (third) promotion. By default, the patch has cavaliers (05 in the table) have a third promotion of thieves (0D in the table). The next two bytes are 00, although you can edit them to be another promotion in the same format, i.e. to make cavaliers able to promote to knights, and also have knights able to promote to cavaliers, your table at 0x8EFBB00 would look like this: 05 09 09 05

I’m sure you could change the location of the table by changing the asm if you needed to.


Thanks man.
This allows for reclassing, yay!


Sorry for necro-ing this thread, but has anyone gotten this to work when you are pointing to a new class in an expanded class table? Thanks.


As someone who has not tried this at all and knows nothing for sure, I think FEbuilder might already have a third promotion tweak?

Do not quote me on that, and it would be useless if you’re using Buildfiles anyway.


Thanks. It does, in fact. However, I tried using that patch and pointing the third promotion to class # 82 (after expanding and repointing the class table), and the game goes to a black screen when you try to promote. If I change the third class option to one of the default classes (even after re-pointing the table), the promotion works perfectly. It thus appears to be an issue with only the higher-than-default class numbers.


That’s a FEbuilder bug then, most likely.



Hmmm… I applied the UPS patch linked in this thread to an unmodified ROM. I then used FEBuilder to apply the “class expansion” patch and then expanded the class table. After that, I edited the lookup table at 0x8EFBB00 to point to class # 95 (filled with Ephraim lord data by default). It crashed in the same manner as the built-in “3 branch promotions” patch in FEBuilder. It appears to be a problem with the combination of this hack with the expanded class table (as opposed to a problem with FEBuilder). That is, unless the problem lies with the way FEBuilder expands the class table!


Did you give the expanded classes an animation pointer. I tried this myself and I didn’t have this problem.


Even if the class address was hard-coded,.
If you extended the class with FEBuilderGBA after adapting the patch first,.
I think that FEBuilder GBA will automatically rewrite the hard-coded class address.
The repoint of FEBuilderGBA also tracks the LDR instruction.

I agree with Mr. Jj09.

There is the possibility that animation is not set for class.
It might be a good idea to set something appropriate animation pointer.

I tested it with Promotion 3 branch patch that is attached to FEBuilderGBA.
First, adapt Promotion 3 branch, then extend the class.

And I set the class 0x80 ,set battle animation .
If you forget this, when you promote, the screen gets black and freezes.

This works correctly.


Thanks, folks. It works now with animations assigned. I was saving that step for last but obviously that was a dumb idea. Sorry for wasting your time!