Jump to content

FE:if Hacking Topic


someonewhodied
 Share

Recommended Posts

Yes, those same flags where the ones I used for Chrom/Lissa/Frederick, I actually copied them off of Wrong Sided collar Leon (yes, his collar is actually the wrong way, the game even has a unique model for him for this one specific cutscene, and the model is never again used).

You do have to be careful, because some headers are 4 bytes, others are 12 bytes (Like Ryouma's), and some even go as far as having 16 bytes in the header (Frederick's Before Awakening Header).

So if you don't want to rebuild parts of the file, you'd basically only be able to copy/paste that into whoever has 8 bytes in the header, which I don't think anybody does, and if they do they probably already have those bitflags anyways.

Link to comment
Share on other sites

  • Replies 467
  • Created
  • Last Reply

Top Posters In This Topic

0% growths don't work at face value on Fates.

I have about 6 characters with 0% growths who consistently get 4-5 stats on level ups, I even had a character gain +2 speed in a single level up, so I'm guessing 0% growths does something weird.

I've gained enough levels in my 0%-growths run to confirm with high confidence that I've successfully zeroed growths, following these instructions from VincentASM:

You don't have to worry: Fates dropped the encryption.

If you have Nightmare, try the Character Growth and Class Personal Growth modules in this zip file

These modules work on the GameData.bin.lz file. First, you need to cut the first 4 bytes using a hex editor, then decompress the file using Batch-LZ77. After you've made your changes, compress the modified file via Type 11 compression and paste the first 4 bytes back to the start.

EDIT: Also, you may want to use the Avatar Boon Bane module.

Without more knowledge of hacking FE14, I don't think I can go beyond merely zeroing in-battle stat growths though.

Link to comment
Share on other sites

Unique Models/Textures are controlled entirely by the character's AID (Asset ID)

This controls their head, their hair, their voice, and their unique model/textures.

Editing this might be basically impossible depending on what you want to do, because all blocks are different with Different kinds of bitflags and different header sizes, I have no idea which series of bitflags does what, the only one I can tell you is F9 07 00 08 06 00 00 00 which is an 8 byte header which are the bitflags used so that when you assign a model to a character, they will always keep their assigned outfit no matter the class, like with Aqua here as an example;

So by editing this could I make Kamui always have the same model no matter the class? Further could I give him a unique model from another character, say, Hinoka's unique pegasus rider outfit?

I don't know much about hacking but I'm just wondering how this would be done, basically giving Kamui a persistent unique model normally used by another character.

Link to comment
Share on other sites

o-oh.... 8I

well then, uhm. I guess something else I could do would be edit the already existing unique texture the characters have but that would mean Niles would have to stay outlaw/ adventure and... if Rinkah even uses a unique model/ texture for any class then those. Would also need to reconfigure out the model uses an image file. The way it is now you cant make anything new like pants for Camillia by extended her bikini bottoms with the paintbrush tool. The main texture files arnt actually transparent, theyre on a black ground so only specified parts of the image are used making it only possible to recolor them. Im hoping that can be change with just the model data and its not a game coding thing. I doubt it cus thats highly impractical but Idk this game is wild.

Update-

K so got the game to load up an edit of Nile's face texture. His face flickered for about 2 seconds then my game crashed! So fuck that whole idea, the Bae and Rinkah are just gonna have to stay pasty cus I have no idea what Im doing.

Speaking of having no idea what Im doing; in my effort to give pants to those in need this happend

tumblr_o7d25pT1hE1ua1e8jo1_400.pngtumblr_o7d25pT1hE1ua1e8jo2_400.png

(Uh, about the bae- tried to save file edit those Dark crown and Hoshido crown accessories the other day, loaded it game said im missing dlc content and ot will be deleted if I proceed, proceed to find the hoshido crown disappeared but the dark crown I guess became the toga of love but it just uses the bath towel model. So now thats in my save)

I cant breath oh my god! I did a simple edit of the norian female skin texture coloring over the legs thinking it'll make it look like nohrian woman have some damn pants on but I guess what I edited isn used as the /base layer/ skin texture used even though thats the model+ texture used when nohrian female units are stripped by raider weapons and sophie.

This is texture file I edited and replaced the original one with using ohana

tumblr_o7d25pT1hE1ua1e8jo3_400.png

Thats how ohana displayed the model with new texture granted but I thought that was just ohana acting weird but guess not. I tried editing another class texture as well but it did the same sorta thing with half of it becoming transparent. Am I doing something wrong?

Edited by Technocolor
Link to comment
Share on other sites

I have two (groups of) questions.

Is the only way to develop and test hacks for FE14 hacking to have a hacked 3DS and manually test it out? No emulation? Also, do we know what dialect of assembly the 3ds runs on (actually I should be able to wikipedia that one(Edit: It indeed still runs off of ARM))

Second, is the 3DS architecture Big Endian? I'm seeing a lot of pointers beginning in 08? If not, where is the beginning address of the ROM?

Edit: Also, what is debugging 3ds games like? Can I still set breakpoints/ break conditions?

Edited by Crazycolorz5
Link to comment
Share on other sites

not sure about your later questions but for 3ds emulation, kinda not really?

Theres Citra but it barley runs 3ds launch games at half regular frame rate. Fates as this 9.6 crypto thing which might mean it wont run on firmware below that (Physical cart come with that update on them so even if you dont have current net access you can still play) You can try though. I believe awaking runs on it.

If you dont how to get homebrew up go to 3dshacks on reddit. The two stickied threads have all you need.

Link to comment
Share on other sites

is there currently a way to do this with the english version? if so, figure out a code to make my slot 1 a blacksmith, since im kinda screwed outta it for my main file.

Link to comment
Share on other sites

So I'm wanting to make a hack where everyone has corrin-level supports (can support every opposite gender romantically, every same gender platonically, and can gay marry one candidate), but I'm completely failing to understand this hex stuff, so I hope I can ask a question here.

Using Ryoma as an example...

My understanding is that I can copy a 12 byte support line at the end of Ryoma's section in the hex, paste insert it, edit the first and third byte accordingly, make it romantic/platonic, repeat this process for every character missing, and then when I finish with Ryoma and he has every support available, change the pointer in the support table for the next character so it points to the start of their section in the hex (in this case, since Corrin male is next, I'd change Corrin's 4 bytes from what it currently is to whatever it is pushed down to in the hex file).

Is there something I'm missing that I have to do to add these supports?

Edited by KP Joey
Link to comment
Share on other sites

is there currently a way to do this with the english version? if so, figure out a code to make my slot 1 a blacksmith, since im kinda screwed outta it for my main file.

If you have a way of dumping your save file to the SD card, you could always use Soaprman's save editor?

https://gbatemp.net/threads/feftwiddler-fire-emblem-fates-save-editor.422439/

You can change levels, inventory, classes, hair colours etc

Question: does anyone have information for save file editing on fixing / changing support ranks and parents of children characters? / is there a way to edit the support rank levels of characters and the parents of characters through hex editing or other methods?

Link to comment
Share on other sites

If you have a way of dumping your save file to the SD card, you could always use Soaprman's save editor?

https://gbatemp.net/threads/feftwiddler-fire-emblem-fates-save-editor.422439/

You can change levels, inventory, classes, hair colours etc

Question: does anyone have information for save file editing on fixing / changing support ranks and parents of children characters? / is there a way to edit the support rank levels of characters and the parents of characters through hex editing or other methods?

Well, i don't wanna screw my only 3ds up by installing homebrew on it, so it'd be nice if there was a QR code for a slot 1 class modifier

Link to comment
Share on other sites

Well, i don't wanna screw my only 3ds up by installing homebrew on it, so it'd be nice if there was a QR code for a slot 1 class modifier

you can't use the QR codes unless you have a sub-9.5 FW 3ds.

also you can't screw up your 3ds by installing homebrew or CFW.

Link to comment
Share on other sites

Well, i don't wanna screw my only 3ds up by installing homebrew on it, so it'd be nice if there was a QR code for a slot 1 class modifier

What firmware are you on? As long as you're not trying to downgrade your 3DS, there really aren't many ways you can actually screw up your 3DS through homebrew. It's honestly a pretty safe procedure. If you're on 10.5, installing hax through a specific mean like browser hax, OoThax, etc and then installing menuhax through homebrew is super safe and honestly doesn't require too much effort, either.

Link to comment
Share on other sites

So uh I just got Cubic Ninja and so now I'm trying to braindump Fates but immediately upon choosing it in braindump's game selector thingy I get black top screen and red bottom--no sign of any action. I tried the pre-release braindump that worked for me with Awakening, same result.

I've got the special edition Awakening 3ds with a digital copy of Birthright which I'm selecting in the menu, with both other routes downloaded.

(EDIT: 10.7.0.32U if that matters...?)

EDIT2: Oh wait snap I get the same "error" even with HANS hmmmmmmm

okay apparently that's a common thing, so will the cfw guide linked above allow hacking even on a digital copy?

Edited by 47948201
Link to comment
Share on other sites

So uh I just got Cubic Ninja and so now I'm trying to braindump Fates but immediately upon choosing it in braindump's game selector thingy I get black top screen and red bottom--no sign of any action. I tried the pre-release braindump that worked for me with Awakening, same result.

I've got the special edition Awakening 3ds with a digital copy of Birthright which I'm selecting in the menu, with both other routes downloaded.

(EDIT: 10.7.0.32U if that matters...?)

EDIT2: Oh wait snap I get the same "error" even with HANS hmmmmmmm

okay apparently that's a common thing, so will the cfw guide linked above allow hacking even on a digital copy?

I just braindump'd my copy of fates that I had installed on my 3DS via CIA (which I got through the uncart feature and converting it from 3DS to CIA). I'm assuming that if I can do this, since it's treated like an installed game, you should be able to as well, but I could be wrong on that?

Link to comment
Share on other sites

Interesting, but so the game files you have originated on a cart, so I get the impression that rather than something being wrong with having the game digitally, it's that the digital version specifically has this fixbreak (maybe because they shipped the carts then later decided to patch up the digital version?)

I dunno, but I guess at least that gives me an unlikely idea for something to look around for, better than nothing.

Link to comment
Share on other sites

So uh I just got Cubic Ninja and so now I'm trying to braindump Fates but immediately upon choosing it in braindump's game selector thingy I get black top screen and red bottom--no sign of any action. I tried the pre-release braindump that worked for me with Awakening, same result.

I've got the special edition Awakening 3ds with a digital copy of Birthright which I'm selecting in the menu, with both other routes downloaded.

(EDIT: 10.7.0.32U if that matters...?)

EDIT2: Oh wait snap I get the same "error" even with HANS hmmmmmmm

okay apparently that's a common thing, so will the cfw guide linked above allow hacking even on a digital copy?

Yep! No need to use braindump and the like either, you can use bootNTR to avoid having to do that entire process, you just dump the relevant files in plugins/titleid

Link to comment
Share on other sites

All righty, cool. So I can plan out when I start to go through the process, since I have basic homebrew currently, will I need internet access to proceed with the cfw-ening?

(EDIT: That is, 3ds internet. I have an ethernet cable to look up the guide on a computer, but if 3ds internet matters then wifi determines when I do this)

Edited by 47948201
Link to comment
Share on other sites

All righty, cool. So I can plan out when I start to go through the process, since I have basic homebrew currently, will I need internet access to proceed with the cfw-ening?

(EDIT: That is, 3ds internet. I have an ethernet cable to look up the guide on a computer, but if 3ds internet matters then wifi determines when I do this)

If you have a computer with a wired network, you can run something like connectify (which is free) to create a hotspot, which you can subsequently connect your 3ds to.

It's a fairly long process, but one that's almost entirely risk free if you follow the steps. Just make sure to back up your saves and format your 3ds before beginning the downgrade process.

Link to comment
Share on other sites

I'll post my findings in detail at a later time in the day, but for now, check this out:

4f49019f91.png

I managed to put a skill on an enemy! Isn't that awesome? I was sorta shooting in the dark here but I'm glad it paid off.

EDIT:

Here's what I've learned regarding enemies and skill placement.

Every generic unit of the same class shares the same skills

Therefore, if you add Lifetaker (like I did) to one Samurai, it effects all of them.

How skills appear in the data

Using C009.bin in \GameData\Person\C, we can find the unit data for this particular map, and how skils are set up:

acc9b8e460.jpg

Y'all like that third grade painting skill, don't you?

The blue bytes represent the Weapon Rank of the enemy. However, generic units seem to lack weapon ranks (as far as I could tell). Perhaps they're stored elsewhere? Anyway our enemy here has 3 bytes of weapon rank data, meaning they have three weapons: A B-rank, and two C-ranks. Highlighted next are the skills, in order from top to bottom (how they appear in the game). These skills in particular are: Duelist's Blow, Vantage, and Seal Strength (If you couldn't tell, this is Fuga's enemy data). The empty bytes represent the last two skills, which are empty because Fuga doesn't have anymore skills in this encounter. Lastly is Fuga's personal skill. I do not know why he has his personal skill displayed three times, but I guess it's something to prevent hackers from editing personal skills using conventional cheats like NTR. All generics have bytes dedicated for Personal Skills, so in theory, you can give a generic a personal skill.

The hard/confusing parts

While this is all nifty, there's still some parts I don't understand. Like the empty bytes between skills. I haven't checked Conquest unit data yet, but I assume they're difficulty bytes, don't quote me on that.

Also, character IDs are nowhere near their skills. 'Ol Fuga here has his character ID (2D) in a completely different location. Same with Hayato, in fact HIS ID is right above Fuga's skills! Instead, you have to search by their class ID. Fuga's class ID is 23 (Master of Arms), therefore by searching that you can uncover his skill data. Same can be used with Generics and Hayato in this chapter. Unfortunately, I'm not sure what happens when there's a character and a generic with the same class and you want to edit their skills separately. More research is needed.

Anyway, that's all I found in regards to putting skills on enemies. Hopefully this information is helpful, and will lead to something sweet.

Edited by Katsu
Link to comment
Share on other sites

I'll post my findings in detail at a later time in the day, but for now, check this out:

4f49019f91.png

I managed to put a skill on an enemy! Isn't that awesome? I was sorta shooting in the dark here but I'm glad it paid off.

RAM or ROM?

Because through ROM hacking assigning skills is pretty easy.

For example, Revelation Chapter 9, this Ninja;

vgCHS5S.png

We can easily assign whatever skills.

KBZvSy3.png

Link to comment
Share on other sites

I'll post my findings in detail at a later time in the day, but for now, check this out:

4f49019f91.png

I managed to put a skill on an enemy! Isn't that awesome? I was sorta shooting in the dark here but I'm glad it paid off.

EDIT:

Here's what I've learned regarding enemies and skill placement.

Every generic unit of the same class shares the same skills

Therefore, if you add Lifetaker (like I did) to one Samurai, it effects all of them.

How skills appear in the data

Using C009.bin in \GameData\Person\C, we can find the unit data for this particular map, and how skils are set up:

acc9b8e460.jpg

Y'all like that third grade painting skill, don't you?

The blue bytes represent the Weapon Rank of the enemy. However, generic units seem to lack weapon ranks (as far as I could tell). Perhaps they're stored elsewhere? Anyway our enemy here has 3 bytes of weapon rank data, meaning they have three weapons: A B-rank, and two C-ranks. Highlighted next are the skills, in order from top to bottom (how they appear in the game). These skills in particular are: Duelist's Blow, Vantage, and Seal Strength (If you couldn't tell, this is Fuga's enemy data). The empty bytes represent the last two skills, which are empty because Fuga doesn't have anymore skills in this encounter. Lastly is Fuga's personal skill. I do not know why he has his personal skill displayed three times, but I guess it's something to prevent hackers from editing personal skills using conventional cheats like NTR. All generics have bytes dedicated for Personal Skills, so in theory, you can give a generic a personal skill.

The hard/confusing parts

While this is all nifty, there's still some parts I don't understand. Like the empty bytes between skills. I haven't checked Conquest unit data yet, but I assume they're difficulty bytes, don't quote me on that.

Also, character IDs are nowhere near their skills. 'Ol Fuga here has his character ID (2D) in a completely different location. Same with Hayato, in fact HIS ID is right above Fuga's skills! Instead, you have to search by their class ID. Fuga's class ID is 23 (Master of Arms), therefore by searching that you can uncover his skill data. Same can be used with Generics and Hayato in this chapter. Unfortunately, I'm not sure what happens when there's a character and a generic with the same class and you want to edit their skills separately. More research is needed.

Anyway, that's all I found in regards to putting skills on enemies. Hopefully this information is helpful, and will lead to something sweet.

If my GBAFE hacking experience is transferrable at all,

Weapon Levels are autoleveled based on weapons in inventory.

The same generic data is used to spawn multiple enemies.

Skills are stored as a halfword (despite having less than 255 of them?) and thus the 0x00's between them make sense. (I guess if 3ds is 64 bit it'd be a fourthword, huh :P? Though idk if it's 32 or 64 bit)

Maybe character ID is just stored near the end of the struct?

Edited by Crazycolorz5
Link to comment
Share on other sites

I'll post my findings in detail at a later time in the day, but for now, check this out:

4f49019f91.png

I managed to put a skill on an enemy! Isn't that awesome? I was sorta shooting in the dark here but I'm glad it paid off.

EDIT:

Here's what I've learned regarding enemies and skill placement.

Every generic unit of the same class shares the same skills

Therefore, if you add Lifetaker (like I did) to one Samurai, it effects all of them.

How skills appear in the data

Using C009.bin in \GameData\Person\C, we can find the unit data for this particular map, and how skils are set up:

acc9b8e460.jpg

Y'all like that third grade painting skill, don't you?

The blue bytes represent the Weapon Rank of the enemy. However, generic units seem to lack weapon ranks (as far as I could tell). Perhaps they're stored elsewhere? Anyway our enemy here has 3 bytes of weapon rank data, meaning they have three weapons: A B-rank, and two C-ranks. Highlighted next are the skills, in order from top to bottom (how they appear in the game). These skills in particular are: Duelist's Blow, Vantage, and Seal Strength (If you couldn't tell, this is Fuga's enemy data). The empty bytes represent the last two skills, which are empty because Fuga doesn't have anymore skills in this encounter. Lastly is Fuga's personal skill. I do not know why he has his personal skill displayed three times, but I guess it's something to prevent hackers from editing personal skills using conventional cheats like NTR. All generics have bytes dedicated for Personal Skills, so in theory, you can give a generic a personal skill.

The hard/confusing parts

While this is all nifty, there's still some parts I don't understand. Like the empty bytes between skills. I haven't checked Conquest unit data yet, but I assume they're difficulty bytes, don't quote me on that.

Also, character IDs are nowhere near their skills. 'Ol Fuga here has his character ID (2D) in a completely different location. Same with Hayato, in fact HIS ID is right above Fuga's skills! Instead, you have to search by their class ID. Fuga's class ID is 23 (Master of Arms), therefore by searching that you can uncover his skill data. Same can be used with Generics and Hayato in this chapter. Unfortunately, I'm not sure what happens when there's a character and a generic with the same class and you want to edit their skills separately. More research is needed.

Anyway, that's all I found in regards to putting skills on enemies. Hopefully this information is helpful, and will lead to something sweet.

ok, let me clear your confusion a bit.

Firstly, this is the complete character block mapping

dPhWylp.png

A written more updated version can be found here.

Secondly, and you'd do best to remember this, 99% of the time you encounter a character as an enemy, they'll have a completely different Character ID and PID than their playable version, so if say, you encounter Takumi in Conquest, you'll never find his block if you search him by his playable character ID.

Third, you can always find the boss block by following the PID pointer to the boss, the boss will ALWAYS have A PID in this format;

PID_[CHAPTER]_ボス, so for example, in Fuga's case, his PID in Revelation Chapter 9 is PID_C009_ボス, or for Sumeragi's case, he is PID_C025_ボス, etc, by following the pointer to this PID you can very easily find the Boss' block.

Fourth, there's no "multiple" Samurais, the game literally just spawns the same Samurai a bunch of times, meaning they are all the same person, so it'd be logical for a change in character data to affect all of them.

Fifth, the game's engine has a script that assigns weapon ranks based on difficulty, same deal with weapons, while the character spawn data handles initial weapons, the game difficulty can upgrade the weapons and the character's weapon rank.

If you have any questions just ask away, me and a couple of people pretty much have everything on Fates ROM hacking figured out except for a few things like making custom maps or how to add in new sounds/voices, but all of the other basic stuff we can pretty much do.

ZHm9mZB.png

Scene editing, script editing, you name it.

Edited by DeathChaos25
Link to comment
Share on other sites

-snip-

Okay I think I understand. All of this stuff is new to me and I have little idea on what's what. Thanks for the clarification! My ultimate goal is to make a 'Conquest' Revelation with Enemy skills on Lunatic mode. That said, I'm assuming there's a script that assigns skills depending on difficulty? I couldn't find the lunge/counter Snipers in Conquest 23 despite finding Hinata, Oboro, and Takumi's skills. Where would that be?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...