ROM Hack [WIP] Fire Emblem Fates Support Editor

  • Thread starter Thread starter thane98
  • Start date Start date
  • Views Views 48,587
  • Replies Replies 123
  • Likes Likes 8
I'm sorry I know I've had a lot of issues, but I'm having another one. When adding the supports for Candace, I added only a few to make sure it worked, so I saved. Then I tried adding in supports for Nichol as well and saw that Candace now has supports with characters that I didn't give her options to. I also noticed that MCorrin and FCorrin has disappeared from the program entirely. I replaced the Supports.xml file with the one from the download and the Corrins came back, but Candace had lost her support data. I assume this is one of the bugs with the program you mentioned?
 
I'm sorry I know I've had a lot of issues, but I'm having another one. When adding the supports for Candace, I added only a few to make sure it worked, so I saved. Then I tried adding in supports for Nichol as well and saw that Candace now has supports with characters that I didn't give her options to. I also noticed that MCorrin and FCorrin has disappeared from the program entirely. I replaced the Supports.xml file with the one from the download and the Corrins came back, but Candace had lost her support data. I assume this is one of the bugs with the program you mentioned?
Yeah, at the moment something's a little off with how the program's writing stuff to the data file - I'm going to try and get a fix out for that soon. The good news is that the issue isn't causing any bad writes to GameData.bin, it just causes things to display incorrectly in the program.

My suggestion would be to open the original Supports.xml that came with the program and copy it over to the one that you're currently using. That should fix the issue temporarily while I work on a more permanent solution.
 
Sorry to double post, but I thought I'd get this out of the way.

I updated the main link with a bug fix for the data file issues. Shouldn't be anymore odd situations where Corrin randomly gets removed from the support list! If you're updating from the original version (and your XML file is not broken...), copy over the Supports.xml that you used with the original version when you update.
 
  • Like
Reactions: Grima
Anywhere with a bunch of empty bytes (if you see a lot of 0xFF bytes and nothing else, that's probably an empty space that can be overwritten). If you can't find any of those, you'll have to expand I could also show you how to expand GameData.bin so that you have more space for tables.

I can't seem to find enough empty space. How can I expand GameData.bin then? Would that possibly involve adding the table to the end of the file and/or switching around other pointers?
 
I can't seem to find enough empty space. How can I expand GameData.bin then? Would that possibly involve adding the table to the end of the file and/or switching around other pointers?
Offset 238E0 has lots of avaliable room. I made it a support block for someone and it has like 800+ space for suppports. I'm sure you could divide that up among others.
 
Offset 238E0 has lots of avaliable room. I made it a support block for someone and it has like 800+ space for suppports. I'm sure you could divide that up among others.
There's no empty space in an unedited GameData, the only GameData with empty space is the one for Extended Same Sex marriage as I had to repoint and move around the entire pointers table to add in new support blocks for the amiibos, hence the resulting empty space from the old location of the pointers table.
 
There's no empty space in an unedited GameData, the only GameData with empty space is the one for Extended Same Sex marriage as I had to repoint and move around the entire pointers table to add in new support blocks for the amiibos, hence the resulting empty space from the old location of the pointers table.
Oh yeah, probably should've mentioned I was using the Gay Fates hack.
 
I can't seem to find enough empty space. How can I expand GameData.bin then? Would that possibly involve adding the table to the end of the file and/or switching around other pointers?

If you want to add in bytes for support tables, you have to do it in the first file region, so the end of the file won't work. You will have to move some things around though.
  1. To start off, open your GameData.bin and find the bytes at 0x4. Those point to the end of the data region. Just like with the support table pointers, you need to add 0x20 to the pointer to find the real location. If you're at the end of the data region, the next 4 bytes should all be 0x00.
  2. Copy everything between the end of the data region and the end of the file. Then navigate back to where you started copying.
  3. Add as many 0xFF bytes as you want.
  4. At the end of where you added in your bytes, paste the stuff you copied earlier.
  5. Go back to where you pasted everything in. You need to get the pointer to this spot minus 0x20, so go ahead and get that.
  6. Once you have it, go back to the start of the file. At 0x4, put in your new pointer. Then at 0x0, you need to change those bytes to reflect the new file size. Hit CTRL+A and find the selection size - that's the size of the file. Flip that number like you would for a pointer, and overwrite the bytes at 0x0 with your new file size.
It's not too difficult in practice, but you have to make sure that you're doing everything correctly. If you mess something up, your game likely won't launch because of a bad file header. I suggest backing up your GameData.bin before messing around with it.
 
I can't seem to expand the support area properly, here's the modified GameData.bin which I tried to add a ton of area to (it's thrice as big as the GameData.bin for the gay hack) but I think I'm messing up on the size of the file.
 

Attachments

You were one byte off with your end to the data region, which messes up all of the pointers. Try this and see if it fixes the issue. To be honest though, I have no idea how things will go if you expand the GameData.bin that much.
 

Attachments

Nothing adversely seems to happen from expanding the GameData.bin that much, at least upon first notice (shortly before you posted I was able to make a usable GameData.bin) I'll have to mess with things and see if the game breaks before I can make everyone support every single character (and I need to figure out how much room that would take!)
 
Okay, hopefully this is the last time I bother you with issues, but my edited supports don't work in game. I'm sure I did everything correctly, but they don't show. I added support options for both Nichol and Candace and removed both of their shield icons so they could support. Mind taking a look?
 

Attachments

Okay, hopefully this is the last time I bother you with issues, but my edited supports don't work in game. I'm sure I did everything correctly, but they don't show. I added support options for both Nichol and Candace and removed both of their shield icons so they could support. Mind taking a look?
I can take a look at it in the morning. Do the supports show up correctly in the editor? If so, it's likely an issue with the values set in the character blocks.
 
Can you add an option to remove supports?

Or better yet, to move a character's support table offset (which will give them a blank table).

From how much space the editor says Lucina has available for supports, I should have enough room in my GameData.bin to make everyone support everyone, but people's support tables need to be moved first.
 
Last edited by Dylos,
Yeah, they show up fine.
Your support IDs weren't quite right, but some other things seem odd. While Nichol's table looks alright, you put it a little close to the main support table - as things currently stand, you really only have space to add in two more characters unless you move his table.

Something odd was going on with Candace's table though. In my GameData.bin, the offset you used for it is just empty bytes. But in yours, it looks like you have two different tables around the same spot. It looks like the first part of Candace's table actually got overwritten by something else, but I can't tell if that was due to my program or you moving around another table. Either way, I went ahead and changed Nichol and Candace's support IDs to the right values and rebuilt Candace's table at a new location. I don't have a save with either of them at the moment so I cannot test it, but try this .bin in game and see if the supports show up.

Can you add an option to remove supports?

Or better yet, to move a character's support table offset (which will give them a blank table).

From how much space the editor says Lucina has available for supports, I should have enough room in my GameData.bin to make everyone support everyone, but people's support tables need to be moved first.
I'm considering adding in functionality for automatically moving tables to new locations and expanding the data region so that there's more rooms in the tables, but if I do go forward with that it'll be awhile before it's ready. However, I'm not planning on adding in deleting at the moment. There's some additional complications with removing supports that I don't want to mess with until everything else is stable.
 

Attachments

If you want to add in bytes for support tables, you have to do it in the first file region, so the end of the file won't work. You will have to move some things around though.
  1. To start off, open your GameData.bin and find the bytes at 0x4. Those point to the end of the data region. Just like with the support table pointers, you need to add 0x20 to the pointer to find the real location. If you're at the end of the data region, the next 4 bytes should all be 0x00.
  2. Copy everything between the end of the data region and the end of the file. Then navigate back to where you started copying.
  3. Add as many 0xFF bytes as you want.
  4. At the end of where you added in your bytes, paste the stuff you copied earlier.
  5. Go back to where you pasted everything in. You need to get the pointer to this spot minus 0x20, so go ahead and get that.
  6. Once you have it, go back to the start of the file. At 0x4, put in your new pointer. Then at 0x0, you need to change those bytes to reflect the new file size. Hit CTRL+A and find the selection size - that's the size of the file. Flip that number like you would for a pointer, and overwrite the bytes at 0x0 with your new file size.
It's not too difficult in practice, but you have to make sure that you're doing everything correctly. If you mess something up, your game likely won't launch because of a bad file header. I suggest backing up your GameData.bin before messing around with it.

I've followed all the steps here, but I haven't had any luck with adding more space. Loading a file only causes a black screen. I made sure that the pointers at 0x4 are correct and that 0x0 reflects the new size, yet nothing still.

Attached is the GameData.bin I tried to add more space to. Nothing else has been edited from the original unedited file except for obviously the extra space and the bytes at 0x0 and 0x4.
 

Attachments

I've followed all the steps here, but I haven't had any luck with adding more space. Loading a file only causes a black screen. I made sure that the pointers at 0x4 are correct and that 0x0 reflects the new size, yet nothing still.

Attached is the GameData.bin I tried to add more space to. Nothing else has been edited from the original unedited file except for obviously the extra space and the bytes at 0x0 and 0x4.
I'm actually having trouble finding out what's causing the crash - it looks like you overwrote a couple bytes by mistake, but I can't tell what all was overwritten, so I can't fix it.

If you give me an unmodified version of the GameData.bin you were using, I can just go ahead and insert the bytes for you if you want.
 

Site & Scene News

Popular threads in this forum