ROM Hack [WIP] Fire Emblem Fates Support Editor

Juelz Proasheck

Member
Newcomer
Joined
Sep 21, 2015
Messages
14
Trophies
0
XP
85
Country
United States
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.

Here's the unmodified GameData.bin. I'm going to try and redo it myself as well (and hopefully not overwrite any bytes?).
 

Attachments

  • GameData.zip
    65 KB · Views: 162

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,529
Country
United States
Here's the unmodified GameData.bin. I'm going to try and redo it myself as well (and hopefully not overwrite any bytes?).
Sorry about how long this took. As it turns out, the issue was completely different from what I originally thought.

I wrote that tutorial under the assumption that it was for the Gay Fates GameData.bin, not one that was completely unmodified. In order to expand an unmodified GameData.bin, you have to take some extra steps the first time around to expand the file (you'll see what those steps involved if you go through the file in a hex editor). I went ahead and added a decent amount of empty space to the .bin, so you should be set for a little while. The tutorial should work for your file next time you need to make it bigger.
 

Attachments

  • Expanded GameData.zip
    79.6 KB · Views: 187

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,529
Country
United States
I just put out a small update for anyone who's interested. I made some changes to the GUI in order to make things a bit more compact, and added a new tab for some extra utilities that I'll be adding in later.

In terms of features, I added functionality for expanding GameData.bin files regardless of if they were modified previously or not (so it'll work even if you're not using the file from the Gay Fates hack). I also added in a prompter for how much space is available in the main support table for new characters. Outside of those changes, everything else is just bug/crash fixes.

The download link was updated, so just grab the update from the main post if you want it. As always, feel free to report any issues with the program here and I'll take a look at them.
 

iisilver

"The true enemy of humanity is disorder."
Member
Joined
Sep 24, 2015
Messages
113
Trophies
0
XP
106
Country
United States
that's odd. Doesn't seem to work with my gamedata.bin
whenever I try to make a new support, it doesn't insert it.
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,529
Country
United States
that's odd. Doesn't seem to work with my gamedata.bin
whenever I try to make a new support, it doesn't insert it.

I'm having the same problem. Even using thane98's extended GameData.bin

When you want to add a new support between characters, you need to make sure that there's space available in both characters' tables. Whenever you select a support, you should see a box which indicates how much space is left in a character's table. Check those and see if the tables you are trying to edit are full.

If they are, you'll have to move them yourself at the moment. I'm planning on adding in something for moving tables automatically whenever I get around to the next update though.
 

Joshkinz

Well-Known Member
Newcomer
Joined
Mar 6, 2016
Messages
45
Trophies
0
Age
21
XP
84
Country
United States
So, I'd assume you have the location of each character's support table, and their pointers. Is there some way you could release a list of all the locations? (ie. Keaton's 0xAE34 and, I think, 0xC930.) This would help me greatly, at least until you release your update with automatic moving.

Thanks!
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,529
Country
United States
So, I'd assume you have the location of each character's support table, and their pointers. Is there some way you could release a list of all the locations? (ie. Keaton's 0xAE34 and, I think, 0xC930.) This would help me greatly, at least until you release your update with automatic moving.

Thanks!
I don't really keep a list of which pointer corresponds to which unit with me. The closest you could get is the first list on this page, which shows the order in the main support table. For example, the first name on the list is Ryoma, so the pointer to Ryoma's table is located at 0xADF4.
 

Joshkinz

Well-Known Member
Newcomer
Joined
Mar 6, 2016
Messages
45
Trophies
0
Age
21
XP
84
Country
United States
I don't really keep a list of which pointer corresponds to which unit with me. The closest you could get is the first list on this page, which shows the order in the main support table. For example, the first name on the list is Ryoma, so the pointer to Ryoma's table is located at 0xADF4.
So every 4 bytes is one pointer, correct? Thanks.
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,529
Country
United States
So every 4 bytes is one pointer, correct? Thanks.
Yes. The bytes on pointers are flipped. So if the bytes at 0xADF4 was 20 81 03 00, the location it's pointing to would be 0x038120. However, for .bin files in Fates you also need to add 0x20 to that value. So you would find the table at 0x038140.
 

Joshkinz

Well-Known Member
Newcomer
Joined
Mar 6, 2016
Messages
45
Trophies
0
Age
21
XP
84
Country
United States
Yes. The bytes on pointers are flipped. So if the bytes at 0xADF4 was 20 81 03 00, the location it's pointing to would be 0x038120. However, for .bin files in Fates you also need to add 0x20 to that value. So you would find the table at 0x038140.
Yep, I know about all that. Thanks though! I'll see if I can compile a list to share here.

--------------------- MERGED ---------------------------

I've put together a list of all the offsets for the pointers. This is just based on math and hasn't been tested. If anyone could test, that'd be great. Otherwise, it matched up with the offsets I did know, so I'm pretty sure it's correct.
 

Attachments

  • pointer list.txt
    1.2 KB · Views: 228

Dylos

Well-Known Member
Member
Joined
May 13, 2016
Messages
285
Trophies
0
Age
37
XP
220
Country
United States
I've put together a list of all the offsets for the pointers. This is just based on math and hasn't been tested. If anyone could test, that'd be great. Otherwise, it matched up with the offsets I did know, so I'm pretty sure it's correct.
This helped a lot, it allowed me to move every single character's support so that each character could have supports with every other character in the game (right now I've only got the story characters in the support table, I'll be adding bond units and generics soon to see if I can break my GameData, but for now I was able to change everyone's pointers.

Here's a GameData.bin if anyone wants to play with it. It's based off the Gay Hack and currently has Takumi and Ryouma having supports with every single story character and the amiibo characters in addition to MaCorrin and FeCorrin.

I've already ran a quick test with this Gamedata, and didn't crash, so it's functional for now at least at first glance.
 

Attachments

  • GameData.zip
    85.8 KB · Views: 176

Joshkinz

Well-Known Member
Newcomer
Joined
Mar 6, 2016
Messages
45
Trophies
0
Age
21
XP
84
Country
United States
@thane98 I have a question about the program. Say, for example, I give Keaton a support with mKana. I save the file, then open in it HxD. I move mKana's support table, then open the program back up. It says mKana has a support with Keaton.

Is this something the program does? As in, does it keep track of who has supports with people and add those automatically? Or is this some kind of bug/glitch?
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,529
Country
United States
@thane98 I have a question about the program. Say, for example, I give Keaton a support with mKana. I save the file, then open in it HxD. I move mKana's support table, then open the program back up. It says mKana has a support with Keaton.

Is this something the program does? As in, does it keep track of who has supports with people and add those automatically? Or is this some kind of bug/glitch?

With the way the program works, that should technically be fine. When you load your GameData.bin, the program goes through the main support table and each individual character's tables and stores all of the necessary information and offsets inside lists. This is why you can change table locations and add new supports to existing tables without causing issues.

I think your issue might be with how the program handles modifying GameData.bin and saving changes. The program stores all of the bytes for GameData.bin inside a list as well, and any modifications you make inside the program are simply made to that list. When you hit save, that list is written back to the original file. Because of this, if you make outside edits like moving tables before saving inside the program, your HxD edits will not carry over when you save. I could modify the program to allow for outside changes while running, but it would require rebuilding the entire thing from the ground up.
 

Joshkinz

Well-Known Member
Newcomer
Joined
Mar 6, 2016
Messages
45
Trophies
0
Age
21
XP
84
Country
United States
I'm not doing any kind of editing while the program is open. I give Keaton a support with mKana, save, close, open the file with HxD, do the stuff I need to. Then I open the support editor again, and it shows that Kana has a support with Keaton. I'm just curious if he actually has a support with Keaton in this case, as that would save me a lot of time.
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,529
Country
United States
I'm not doing any kind of editing while the program is open. I give Keaton a support with mKana, save, close, open the file with HxD, do the stuff I need to. Then I open the support editor again, and it shows that Kana has a support with Keaton. I'm just curious if he actually has a support with Keaton in this case, as that would save me a lot of time.
Yes, he should have the support with Keaton in that case.
 

Pichi-Hime

Well-Known Member
Newcomer
Joined
Feb 15, 2016
Messages
66
Trophies
0
Age
25
XP
70
Country
United States
can we make a characters support block bigger without repointing it? i ran out of space in the male corrin support tbale using the gay fates hack.
 

Dylos

Well-Known Member
Member
Joined
May 13, 2016
Messages
285
Trophies
0
Age
37
XP
220
Country
United States
can we make a characters support block bigger without repointing it? i ran out of space in the male corrin support tbale using the gay fates hack.
Even if you add more space to the current character's support table you'll have to repoint any character that comes after, as well as the end of data block. Try using mine if you have to, it has space for Corrin (and every story character actually) to support something like 200 characters each (I think it's a little shy of fitting the full 253, but the monster characters and the shopkeepers and castle Lilith don't need supports). However, the limiting factor in the file I uploaded earlier would be the size of the support table, however that is easily fixed as the data after the support table on my GameData.bin (and I believe on the Gay Fates one too) is left over supports from the original and is safe to overwrite.
 

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
This helped a lot, it allowed me to move every single character's support so that each character could have supports with every other character in the game (right now I've only got the story characters in the support table, I'll be adding bond units and generics soon to see if I can break my GameData, but for now I was able to change everyone's pointers.

Here's a GameData.bin if anyone wants to play with it. It's based off the Gay Hack and currently has Takumi and Ryouma having supports with every single story character and the amiibo characters in addition to MaCorrin and FeCorrin.

I've already ran a quick test with this Gamedata, and didn't crash, so it's functional for now at least at first glance.
You're a life saver!!
I'm going to use your file as a base to make an "everyone can marry everyone" patch, if that's okay! I've been meaning to make one for months, and this file makes it much easier.
 
Last edited by Ningyoplug,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-