ROM Hack Fire Emblem Fates: ROM Hacking General Thread

thane98

Well-Known Member
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,536
Country
United States
So I kinda have a project in mind but right now it's just a vague idea. I just want to see how many people would be interested (and maybe would like to participate in the making process).

The idea is: making a ROM hack of Fire Emblem Fates with either (1) a whole new story with new characters; or (2) a story that's like an unofficial "sequel" to the story of Revelation. Maybe set in Valla or something!
Of course, we'd have to edit the sprites, all the game's text, the maps, the textures, etc. It would be lots of work but I think it would be pretty cool.

I think it would be possible, considering we know enough about FE:F hacking to make this happen.

Who would be interested?
I've got a bit too much going on at the moment, but I wish you luck if you do decide to go forward with this.
 
  • Like
Reactions: Ningyoplug

EmblemCrossing

That Towel!Niles Cosplayer
Member
Joined
Apr 11, 2015
Messages
487
Trophies
0
Age
26
XP
197
Country
United States
So I kinda have a project in mind but right now it's just a vague idea. I just want to see how many people would be interested (and maybe would like to participate in the making process).

The idea is: making a ROM hack of Fire Emblem Fates with either (1) a whole new story with new characters; or (2) a story that's like an unofficial "sequel" to the story of Revelation. Maybe set in Valla or something!
Of course, we'd have to edit the sprites, all the game's text, the maps, the textures, etc. It would be lots of work but I think it would be pretty cool.

I think it would be possible, considering we know enough about FE:F hacking to make this happen.

Who would be interested?

Would be cool, but I don't think we have nearly enough knowledge to create something much more than a reskin of the game as it is just yet. Event editing in particular is still something that is a pain to work with, which is something that would be mandatory if we were trying to make a completely unique game.

I'm all for offering my OC as a character though. I've been working on all the necessary assets for a unique character in Fates. Would be a good idea to get that figured out first before jumping into a completely new story. (Just don't make him the main lord tho)
 
Last edited by EmblemCrossing,
  • Like
Reactions: FlappyFalco

DeathChaos

Unmei wo koeru!
OP
Member
Joined
Oct 21, 2015
Messages
1,364
Trophies
0
Age
28
XP
1,726
Country
Puerto Rico
Would be cool, but I don't think we have nearly enough knowledge to create something much more than a reskin of the game as it is just yet. Event editing in particular is still something that is a pain to work with, which is something that would be mandatory if we were trying to make a completely unique game.

I'm all for offering my OC as a character though. I've been working on all the necessary assets for a unique character in Fates. Would be a good idea to get that figured out first before jumping into a completely new story. (Just don't make him the main lord tho)
Actually, you can't get rid of Corrin, or rather, whoever assumes the position of "PlayerMale" and "PlayerFemale".

I am currently working on another hack, and getting rid of Corrin literally completely breaks your save.
At first the game will play fine and everything is ok, but the moment you reset, the save no longer works.

This also happens if someone is somehow taking priority over Corrin.
For example, say you assign Kana the "Player" flag, which would allow Kana to wield the Yato and become the main character, upon saving and resetting, again, your save is now broken if Kana is placed before Corrin.
 

EmblemCrossing

That Towel!Niles Cosplayer
Member
Joined
Apr 11, 2015
Messages
487
Trophies
0
Age
26
XP
197
Country
United States
Actually, you can't get rid of Corrin, or rather, whoever assumes the position of "PlayerMale" and "PlayerFemale".

I am currently working on another hack, and getting rid of Corrin literally completely breaks your save.
At first the game will play fine and everything is ok, but the moment you reset, the save no longer works.

This also happens if someone is somehow taking priority over Corrin.
For example, say you assign Kana the "Player" flag, which would allow Kana to wield the Yato and become the main character, upon saving and resetting, again, your save is now broken if Kana is placed before Corrin.
I wasn't implying getting rid of Corrin necessarily, more so making it similar to Awakening, in which Chrom was our "Lord", but we still had the Avatar around. Except this time we would actually give the lord priority in the story.
 

Ningyoplug

Well-Known Member
Member
Joined
Mar 10, 2016
Messages
257
Trophies
0
Age
29
Location
Gayland
Website
ningyo.tumblr.com
XP
363
Country
Italy
Would be cool, but I don't think we have nearly enough knowledge to create something much more than a reskin of the game as it is just yet. Event editing in particular is still something that is a pain to work with, which is something that would be mandatory if we were trying to make a completely unique game.

I'm all for offering my OC as a character though. I've been working on all the necessary assets for a unique character in Fates. Would be a good idea to get that figured out first before jumping into a completely new story. (Just don't make him the main lord tho)

Event editing, hmm... well, we could start with a story first of all, and then try to make that story follow more or less the mechanics of fates (like, characters join in the same order as their original conterparts, abd in the same maps, and such) but we can change the disposition of the characters on the map. Like DeathChaos did with the double Kanna patch or custom DLCs.

Also, abut your OC- that's great! If we do this we'll need lots of charas so OCs are very appreciated.

Actually, you can't get rid of Corrin, or rather, whoever assumes the position of "PlayerMale" and "PlayerFemale".
I don't think there would be any need to get rid of Corrin. We could just replace the sprites for corrin, I guess. Like, replace stuff like the hairstyles or redraw the face and clothes, so that it looks like a new character.

more so making it similar to Awakening, in which Chrom was our "Lord", but we still had the Avatar around. Except this time we would actually give the lord priority in the story.

I actually begun thinking about a plot idea a few hours ago, and in a sense it's kinda like that. All I've got so far is:
- Avatar is a retainer. Not a noble.
- the "Lord" of the story (kinda like the Chrom of this story) is a prince (if male!Avatar) or a princess (if fem!avatar). They have severe depression.
- we know from the beginning that this prince/princess IS the Fire Emblem. So yes, this time the Fire Emblem is a person.
- this person spends most of the time in their chambers and rarely ever goes outside. Both due to depression and because they were always treated like a powerful tool, ever since they were born, and were venerated but also secluded because they can't really control their own power.

This is all I thought of so far. I don't have an antagonist nor a main quest yet... so any ideas are welcome.
 

EmblemCrossing

That Towel!Niles Cosplayer
Member
Joined
Apr 11, 2015
Messages
487
Trophies
0
Age
26
XP
197
Country
United States
Event editing, hmm... well, we could start with a story first of all, and then try to make that story follow more or less the mechanics of fates (like, characters join in the same order as their original conterparts, abd in the same maps, and such) but we can change the disposition of the characters on the map. Like DeathChaos did with the double Kanna patch or custom DLCs.

Also, abut your OC- that's great! If we do this we'll need lots of charas so OCs are very appreciated.


I don't think there would be any need to get rid of Corrin. We could just replace the sprites for corrin, I guess. Like, replace stuff like the hairstyles or redraw the face and clothes, so that it looks like a new character.



I actually begun thinking about a plot idea a few hours ago, and in a sense it's kinda like that. All I've got so far is:
- Avatar is a retainer. Not a noble.
- the "Lord" of the story (kinda like the Chrom of this story) is a prince (if male!Avatar) or a princess (if fem!avatar). They have severe depression.
- we know from the beginning that this prince/princess IS the Fire Emblem. So yes, this time the Fire Emblem is a person.
- this person spends most of the time in their chambers and rarely ever goes outside. Both due to depression and because they were always treated like a powerful tool, ever since they were born, and were venerated but also secluded because they can't really control their own power.

This is all I thought of so far. I don't have an antagonist nor a main quest yet... so any ideas are welcome.

This sounds like something fun to come up with over break. (my OC is depressed af but I'm not sure how well he would fit as the lord)

The prince/princess being the Fire Emblem reminds me a lot of an old game called Evolution Worlds, in which the partner character Linear ended up being one of the most powerful weapons (or, Cyframes), and as a result was sought after by the main antagonist, at least for the first arc.

(I love plot..)
 

EmblemCrossing

That Towel!Niles Cosplayer
Member
Joined
Apr 11, 2015
Messages
487
Trophies
0
Age
26
XP
197
Country
United States
Anyway, I've been digging through Fates and found where some things go, so:

m/@E
Ending.binlz: Contains individual character endings, end titles, as well as what makes up everything in the credits.
Gamedata.binlz: This is a fun one. Contains: Character names (including Generics, Bosses, and Bond Units), Character help text. Class names/help text. Chapter titles, map locations, Victory conditions (listed separately for each chapter in the game), Dragon Vein descriptions. Skill titles/descriptions. Weapon/Item names and descriptions, tile descriptions (Fort, Stairs, Healtile) anddddd last but not least, descriptions of the various in game armies, and various proficiency.
Gmap.binlz: This is where the actual chapter descriptions are located.
Museum.binlz: Character bios, movie titles
Opening: All text involved with the opening cinematic
A028/B028/C028: Character endgame dialogue

I only gathered the most interesting text, most of the rest was easy to figure out by the file names tbh.
 
  • Like
Reactions: Ningyoplug

Ningyoplug

Well-Known Member
Member
Joined
Mar 10, 2016
Messages
257
Trophies
0
Age
29
Location
Gayland
Website
ningyo.tumblr.com
XP
363
Country
Italy
So I made a Discord server for everyone who wants to join in the project. If you want to help share ideas or help in the actual making, feel free to join.
I'll also make a chat room for general FE hacking, in case anyone is working on something else and needs help.

So yeah, if you feel like helping out with the project, join this server: https://discord.gg/Qtxkj
(The invite link expires in 1 day so if you need a new one let me know)

If anyone here doesn't know Discord, it's a program (and also mobile app) that can be downloaded or opened in a browser and it's kinda like LINE or any other chat that lets you create different chat rooms and even voice chat if you want.

"But why?" Because I don't want to clog this thread with plot stuff and other things that are kinda unrelated to the process of rom hacking itself.
 
Last edited by Ningyoplug,

Puppenspieler

Active Member
Newcomer
Joined
Nov 2, 2016
Messages
26
Trophies
0
Age
32
XP
50
Country
Gambia, The
You'd still need to edit the map spawn data to alter which Kana shows up.

Kana's spawn is handled by the chapter script, there are 2 Kana spawns, first is the map spawn for Kana, which are tagged as "Ally_Male" and "Ally_Female".

To swap this, you'd first need to understand how labels and pointers work in this game.

So first off, the file you want for this is romfs/GameData/Dispos/X002.bin.lz

Once you decompress the file and obtain X002.bin, run it through HxD, you will find that the labels are located in the following addresses:
Ally_Male = 0x2CF1
Ally_Female = 0x2CFB

Next, we need to find out where these labels are being called, via a pointer, but how do we figure out what the pointer is?
Simple, first you take the address and subtract 0x20 to it, so with that in mind the subtractions would be;

Ally_Male = 0x2CF1 - 0x20 = 0x2CD1
Ally_Female = 0x2CFB - 0x20 = 0x2CDB

An easier way is, in HxD, go to where the label starts, press the up arrow twice on your keyboard, and note down that address, since it's basically the same thing.

We're not done yet!

Next, we need to order these new values in Big Endian, basically, biggest values go first, or more simply, you "flip" the bytes, like so;

Ally_Male = 0x2CD1 = 2CD1 = D1 2C 00 00
Ally_Female = 0x2CDB = 2CDB = DB 2C 00 00

All pointers are 4 bytes, so any leftovers are filled with 00s.

So now that you know what the pointer values for both labels is, it's just a matter of locating where the game calls for both labels and swapping the pointer values, so with that in mind, search both values;
If you search D1 2C 00 00 (Ally_Male), you'll find this pointer on address 0x38
If you search DB 2C 00 00 (Ally_Female), you'll find this pointer on address 0x44

Now, just swap the pointers,
in 0x38 the pointer is D1 2C, change it to DB 2C
in 0x44 the pointer is DB 2C, change it to D1 2C

And this is just the map spawn data! When Kana joins at the end of the chapter, this is an entirely new different spawn block, meaning that even if you now changed Female Kana to spawn with Female Corrin, at the end of the map you'd still get Male Kana!

Luckily, for this step, you only need to swap a letter because both labels have the same exact length, so with that in mind;
look for the following 2 labels,
Support01_M
Support01_F

All you'd need to do is swap the M/F, so go to Support01_M and just write an F over the M, and do the same with Support01_F, and that should be enough!

Now you just need to save your file, compress it and run it ingame.

TL;DR

Obtain file romfs/GameData/Dispos/X002.bin.lz
Decompress the file and open it on HxD
Go to 0x38 and write DB 2C 00 00
Go to 0x44 and write D1 2C 00 00
Near the end of the file, locate Support01_M, write an F over the M
After that should be another label called Support01_F, write an M over the F
Save and compress
Profit!

First of all - I love you! ;w; SO SO MUCH.
I now have a beautiful, precious baby boy. Thanks to your great explanations it was really easy to get male Kana to work for my male Corrin. Thank you, thank you, thank you!!! And I actually even learned something! You are really amazing!
I managed to get support convos and the chapter text running correctly, buuuuut... I still ran into some problems. Could you please help me again?

It's about the chapter intro. There's this once scene where a map sprite of Kana loads - it's still the female one. I honestly have no clue how to change this into the correct Kana map sprite. I don't even know which File to edit. I guess it's the one in the game data > person folder?
 

DeathChaos

Unmei wo koeru!
OP
Member
Joined
Oct 21, 2015
Messages
1,364
Trophies
0
Age
28
XP
1,726
Country
Puerto Rico
First of all - I love you! ;w; SO SO MUCH.
I now have a beautiful, precious baby boy. Thanks to your great explanations it was really easy to get male Kana to work for my male Corrin. Thank you, thank you, thank you!!! And I actually even learned something! You are really amazing!
I managed to get support convos and the chapter text running correctly, buuuuut... I still ran into some problems. Could you please help me again?

It's about the chapter intro. There's this once scene where a map sprite of Kana loads - it's still the female one. I honestly have no clue how to change this into the correct Kana map sprite. I don't even know which File to edit. I guess it's the one in the game data > person folder?
I found an easier way that should also fix this, but you'd need an unedited Dispos file (or undo the previous edits), since I found a much easier and quick solution that should affect all of the possible instances for the Kanas.

Go to address 0x3080, in here, the game has both Kana PID labels written, Male Kana first, the Female Kana;
upload_2016-12-22_8-32-23.png

All you want to do is swap the Male and Female symbols at the end of the PID.

The Male symbol is the 92 6A at the end, while the Female Symbol is the 8F 97, just swap these 2 values around.
On 0x3093 change the 92 6A to a 8F 97,
On 0x30A0 change the 8F 97 to a 92 6A

This should be enough to cover everything, since here we directly changed the order of the labels.
 
Last edited by DeathChaos,
  • Like
Reactions: Ningyoplug

Puppenspieler

Active Member
Newcomer
Joined
Nov 2, 2016
Messages
26
Trophies
0
Age
32
XP
50
Country
Gambia, The
I found an easier way that should also fix this, but you'd need an unedited Dispos file (or undo the previous edits), since I found a much easier and quick solution that should affect all of the possible instances for the Kanas.

Go to address 0x3080, in here, the game has both Kana PID labels written, Male Kana first, the Female Kana;
View attachment 72697
All you want to do is swap the Male and Female symbols at the end of the PID.

The Male symbol is the 92 6A at the end, while the Female Symbol is the 8F 97, just swap these 2 values around.
On 0x3093 change the 92 6A to a 8F 97,
On 0x30A0 change the 8F 97 to a 92 6A

This should be enough to cover everything, since here we directly changed the order of the labels.

It works! :D Thank you so much!!! ♥
 

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
So I've been looking into the Nightmare modules (main reason was to turn the amiibo hero battles into paralogues for thane98's randomizer). I opened the Character module on GameData.bin and looked at the amiibo units (just out of curiousity).

How do I make it to where I can support the amiibo units? Is that possible with the Nightmare modules or is that something that can only be done with hex editing? I know the Gay Fates patch already has supports for them but I wanted to figure out how to do it.
 

Ningyoplug

Well-Known Member
Member
Joined
Mar 10, 2016
Messages
257
Trophies
0
Age
29
Location
Gayland
Website
ningyo.tumblr.com
XP
363
Country
Italy
So I've been looking into the Nightmare modules (main reason was to turn the amiibo hero battles into paralogues for thane98's randomizer). I opened the Character module on GameData.bin and looked at the amiibo units (just out of curiousity).

How do I make it to where I can support the amiibo units? Is that possible with the Nightmare modules or is that something that can only be done with hex editing? I know the Gay Fates patch already has supports for them but I wanted to figure out how to do it.
I'm on mobile rn so I can't check, bUT I think FEFTwiddler has an "add supports to units that don't have any" feature.

If u want to do it by hex editing though then idk

Edit: maybe you could copy-paste the amiibo characters data from the gay fates' gamedata.bin
 
Last edited by Ningyoplug,

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
I'm on mobile rn so I can't check, bUT I think FEFTwiddler has an "add supports to units that don't have any" feature.

If u want to do it by hex editing though then idk

Edit: maybe you could copy-paste the amiibo characters data from the gay fates' gamedata.bin
I'm not seeing that option, if it is one.
 

Grima

Well-Known Member
Member
Joined
Jul 2, 2016
Messages
118
Trophies
0
Age
24
XP
109
Country
United States
So I've been looking into the Nightmare modules (main reason was to turn the amiibo hero battles into paralogues for thane98's randomizer). I opened the Character module on GameData.bin and looked at the amiibo units (just out of curiousity).

How do I make it to where I can support the amiibo units? Is that possible with the Nightmare modules or is that something that can only be done with hex editing? I know the Gay Fates patch already has supports for them but I wanted to figure out how to do it.
There's a support editor tool that I think @thane98 made to add supports for characters that don't normally have them. I've done it for all of the capture bosses and it works great.
 
  • Like
Reactions: KunoichiZ

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
There's a support editor tool that I think @thane98 made to add supports for characters that don't normally have them. I've done it for all of the capture bosses and it works great.
That's right. I forgot about that. Duh. xD Thanks!

Is there a way to make the amiibo units non-shields units upon recruiting so that in the case of thane98's Randomizer, the characters that replace the units can support without having to use FEFTwiddler to remove the shield/einherjar icons?
 
Last edited by KunoichiZ,

thane98

Well-Known Member
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,536
Country
United States
That's right. I forgot about that. Duh. xD Thanks!

Is there a way to make the amiibo units non-shields units upon recruiting so that in the case of thane98's Randomizer, the characters that replace the units can support without having to use FEFTwiddler to remove the shield/einherjar icons?
I think you just need to change the event used to recruit the unit from ev::JoinGuest to something like ev::UnitTransferByIndex in order to recruit them without the shield. The scripts might need additional adjustments as well depending on what parameters each event takes in. If you'd like, I could try and set up modified versions of the amiibo paralogues with adjust recruitment for use with the randomizer.

I did a thing.

That's pretty cool! Did you do all of the editing for that by hand? That looks like a lot of stuff to adjust to get everything working correctly.
 

DeathChaos

Unmei wo koeru!
OP
Member
Joined
Oct 21, 2015
Messages
1,364
Trophies
0
Age
28
XP
1,726
Country
Puerto Rico
I think you just need to change the event used to recruit the unit from ev::JoinGuest to something like ev::UnitTransferByIndex in order to recruit them without the shield. The scripts might need additional adjustments as well depending on what parameters each event takes in. If you'd like, I could try and set up modified versions of the amiibo paralogues with adjust recruitment for use with the randomizer.
Actually, the correct way of having a new unit join you at the end of the chapter, like the game would normally do is, you make a spawn block for the unit you want in the dispos file, however, all 4 coordinates need to be set to FF, so, FF FF FF FF as spawn coordinates, and the spawn flags need to be 40 17.
You can look at the paralogue 1 file and notice both Kanas have a spawn block like that.

That's pretty cool! Did you do all of the editing for that by hand? That looks like a lot of stuff to adjust to get everything working correctly.
This actually didn't take that long, the longest part was probably getting the right coordinates for the spawn blocks, since I added people to the Saizo group, the Kagero spawn and even made a new spawn block for Ryoma at the very end.

Basically, at first I did it the lazy way and made Asugi be paired up to Saizo, but that broke some stuff like making Saizo unable to move, and Asugi would never exit the Battling state.
I did a bit of poking to find the battle event, and also figured out that the event for units moving was really easy, so I made Asugi a separate spawn from Saizo, looked for the bit of code where Saizo moves, put in some for Asugi right after, look for the battle code for Saizo, copied and gave it to Asugi, and then figured out where the event ended, added then after Corrin leaves, added in a small delay and spawn in Ryoma.

Of course there was also a bit of dialogue editing.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Sonic Angel Knight, Meth cake lol