ROM Hack FEFTwiddler - Fire Emblem Fates Save Editor

Pokéfan Kieran

Well-Known Member
Member
Joined
Sep 30, 2015
Messages
398
Trophies
0
Age
21
XP
190
Country
I think it's because th editor refuses to acknowledge the fact that gauntlets are weapons and therefore is confused. I don't know though.

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

I wasn't able to forge them again in the editor either. Oh well, I guess the worst debuffing weapon (-2str/skl never recovering EACH TIME) isn't that good anyway
 

Pokéfan Kieran

Well-Known Member
Member
Joined
Sep 30, 2015
Messages
398
Trophies
0
Age
21
XP
190
Country
I think I have a theory on why there are unbanned people with all stats mid 70s but my max was banned.

for most, I changed the bytes to about 40 (that's 64 in hexadecimal)
I think what banned ME was the fact they could be banning stats that are boosted over 50, the max number of My castle objects.
 

Metab

Well-Known Member
Member
Joined
Mar 23, 2013
Messages
155
Trophies
0
Age
28
Location
Where dat ass is
XP
299
Country
FEFTwiddler itself is just a fancy hex editor. The code's on GitHub if you want to see how it works.

That said, there's one piece of knowledge that I wouldn't have been able to figure out on my own, and that's how to compress and decompress saves. This is my first time doing a save editor as well, and I have no experience with compression-related code, so I wouldn't have been able to make heads or tails of a compressed save. Luckily, someone(s) had already figured out what compression the saves use and wrote code to handle the compression and decompression. So depending on the game you choose, this might be something to look out for. My understanding is that the Huffman compression is quite common and has been around for a while, so there's a chance that if you encounter a game that uses it, you can yank the compression/decompression right from FEFTwiddler and use it in your own program.

If you want to see how saves are handled, here are the main files to look at in FEFTwiddler's code:

https://github.com/Soaprman/FEFTwiddler/blob/master/FEFTwiddler/Model/SaveFile.cs
https://github.com/Soaprman/FEFTwiddler/blob/master/FEFTwiddler/Utils/Huffman8.cs
Thanks alot for the help, how can I tell if I need to decompress and whatnot?
 

Soaprman

Well-Known Member
OP
Member
Joined
Apr 9, 2016
Messages
166
Trophies
0
Location
Georgia, USA
XP
727
Country
United States
I can speak for the Huffman compression that Fates uses. Probably other games use it too, though I can't guarantee that the game you're choosing does!

In this screenshot of a compressed "Chapter" save:

A decompressed "header" that the game uses to show information on the file select screen. It's 0xC0 bytes long in this screenshot. This is only in "Chapter" saves.

A single row (16 bytes) (starts at offset 0xC0) that denotes the beginning of the compressed bytes. This is split into four unsigned 32-bit integers:
* 0x434F4D50, shown as "PMOC" (backwards "COMP") in the text column. This is short for "compressed".
* 0x2, just a value that the Huffman algorithm looks at I guess? I'm no expert on it.
* The length of the decompressed bytes
* A CRC-32 checksum of the decompressed bytes

The compressed bytes (a big ol' mess of bytes with little to no discernible pattern). If the save isn't compressed, then you should see a lot more "readable" patterns and blocks of 00s here and there (stuff that doesn't tend to exist in compressed files).

If the game you're working with has compressed saves that follow this pattern, then you should be able to use the same code FEFTwiddler uses. Otherwise... it's on you to figure out what's going on!
 

Attachments

  • comp.JPG
    comp.JPG
    94.1 KB · Views: 284

Soaprman

Well-Known Member
OP
Member
Joined
Apr 9, 2016
Messages
166
Trophies
0
Location
Georgia, USA
XP
727
Country
United States
0.13.0 is released! https://github.com/Soaprman/FEFTwiddler/releases/tag/0.13.0

Release notes:

This one's for everyone who likes deleting stuff and wishes there was an easier way to delete stuff in their Fates save.
  • Add: A button to delete your units. In case the performance reviews aren't looking too good for some of your benchwarmers!
  • Add: A megacheat to reset supports. In case you're having regrets about some of your A+ or S ranks! (This is untested.)
  • Add: A button to empty your convoy. In case you can't be bothered to release all your animal spirits by hand!
  • Add: You can now open saves by dragging them onto the window. This does not update the directory FEFTwiddler defaults to in "open file".
  • Add: Changing a unit's class to the DLC Pegasus Knight class adds it to their heart seal options. (This is untested.)
  • Fix: When adding materials, if a material is undiscovered (its icon is grayed out ingame), it becomes discovered.
  • Fix: Changing the "equipped" checkbox in inventory view correctly updates the "Raw" field.
  • Fix: Show forges correctly for NPC weapons in the convoy.
 

oiie

Active Member
Newcomer
Joined
Feb 15, 2016
Messages
29
Trophies
0
XP
77
Country
Canada
if we change the kids' hair color, does it show up changed when other people visit too? just wondering.
 

EmblemCrossing

That Towel!Niles Cosplayer
Member
Joined
Apr 11, 2015
Messages
487
Trophies
0
Age
26
XP
197
Country
United States
Wait, did I miss something? We can have the sexy generic Wolfskin? And, to a lesser extent, the Nine Tails? Sign me the fuck up.
 

Harvest God

Er a pixel artist?
Member
Joined
Oct 27, 2015
Messages
294
Trophies
0
XP
162
Country
United States
Wait, did I miss something? We can have the sexy generic Wolfskin? And, to a lesser extent, the Nine Tails? Sign me the fuck up.
Mhm well I wouldn't sign you up at all, but yes if you change a unit, to a bond unit. The bond unit's portrait then changes corresponding to the class it is. However, the head model is weird
 

EmblemCrossing

That Towel!Niles Cosplayer
Member
Joined
Apr 11, 2015
Messages
487
Trophies
0
Age
26
XP
197
Country
United States
Mhm well I wouldn't sign you up at all, but yes if you change a unit, to a bond unit. The bond unit's portrait then changes corresponding to the class it is. However, the head model is weird

Sooo, I should go to a My Castle, recruit generic Keaton/Kaden, then turn them into bond units, then turn them into Generics? Is that what I'm getting at?
 

L Squared

Active Member
Newcomer
Joined
Mar 5, 2016
Messages
36
Trophies
0
Age
28
XP
52
Country
United States
what are the hax values to neutralize Selkies hair and make mitama have the bright pink from the Xenologe?
 

Deallocate

Active Member
Newcomer
Joined
Apr 16, 2016
Messages
44
Trophies
0
Age
29
XP
62
Country
United States
Is it okay to delete the original Scarlet from the Revelations route without causing any negative side effects?
 

Deallocate

Active Member
Newcomer
Joined
Apr 16, 2016
Messages
44
Trophies
0
Age
29
XP
62
Country
United States
Yeah, but if you have a duplicate copy of her, that data is also used. So she's shown twice during the end credits anyway.

Also, the data the end credits use is stored in the character blocks, which is lost during character deletion.
 
  • Like
Reactions: Harvest God

Soaprman

Well-Known Member
OP
Member
Joined
Apr 9, 2016
Messages
166
Trophies
0
Location
Georgia, USA
XP
727
Country
United States
changing unit's class to pegasus knight via heart seal option is not worked :'(

Do you have the Cipher DLC in the first place? If you don't, you need it to use that class. If you do, well, I still can't help you because I don't have the Cipher DLC myself and don't care enough to obtain it! If there's a bug with it, someone else will have to fix it or explain to me precisely what's wrong with it.

Is it okay to delete the original Scarlet from the Revelations route without causing any negative side effects?

I would expect everything to work fine, and for the ending to be as if she had never been recruited to begin with. I haven't fully tested it, though, and probably never will.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/BiY0vNuu1eg?si=0nwmSHWeLkfcJJ__