Jump to content

Fire Emblem Fates Randomizer


thane98
 Share

Recommended Posts

I've been trying to figure this out for quite a while now, but the progress bar is not loading at all.

I hit randomize, it stops responding, then it responds again, but nothing changed

Edited by mindory
Link to comment
Share on other sites

  • Replies 422
  • Created
  • Last Reply

Top Posters In This Topic

  • 3 weeks later...
Hey everyone,
 
Stepping in to say this project isn't completely dead yet. The original randomizer definitely is, but a rewritten, feature-complete FE14 randomizer is available here: https://github.com/thane98/ignis/
 
Only blockers for full release are playtesting and some small fixes. Otherwise, Ignis should be easier to use than the original, produce better results, and give you a more stable playthrough. I plan to wrap these up over the next week.
 
Once I'm done with these pieces, I'll do a proper release, update the main post, etc. Sorry for the lack of updates on this project.
Link to comment
Share on other sites

So I used the randomizer to randomize the game and had the files go to my output folder. At this point, do I put the contents of the output folder into the romfs folder under the title id for luma patching on the 3ds? 

Link to comment
Share on other sites

7 minutes ago, Gutrune said:

So I used the randomizer to randomize the game and had the files go to my output folder. At this point, do I put the contents of the output folder into the romfs folder under the title id for luma patching on the 3ds? 

Yes, that's correct - copying the contents of the folder, not the actual folder.

Link to comment
Share on other sites

2 hours ago, Augmented Antics said:

A suggestion I have is, if randomizing Corrin, to give them perf weapons that match their randomized class (like if randomizing into a Fighter, they have an axe that has the advantages and disadvantages of axes, but the properties of the Yato).

I will add this to the backlog. It's a kind of heavy change since it requires injecting new items + adjusting several chapter scripts, but it can be done.

Link to comment
Share on other sites

I randomized Fates with your randomizer a few years ago and had a lot of fun with it. I'm glad you've released a new way for me to enjoy my favorite randomized chaos of a game 🙂

I seem to have gotten the randomized dump just fine, I was wondering if you could help me out with rebuilding the rom to get it to work for citra? It's been a long time since I've done this kind of thing, so sorry if it sounds a bit too basic 😞 

I've got the randomized files taken straight from Ignis, and I just tried rebuilding the ROM with RomFS Builder. I selected the Ignis output directory, hit Go in RomFS Builder, then named the file 'random.3ds'. Citra Nightly can't open the random.3ds file, it seems. Would you happen to have any ideas?

Thanks and I love your work! 

Link to comment
Share on other sites

9 hours ago, JugglerPanda said:

I randomized Fates with your randomizer a few years ago and had a lot of fun with it. I'm glad you've released a new way for me to enjoy my favorite randomized chaos of a game 🙂

I seem to have gotten the randomized dump just fine, I was wondering if you could help me out with rebuilding the rom to get it to work for citra? It's been a long time since I've done this kind of thing, so sorry if it sounds a bit too basic 😞 

I've got the randomized files taken straight from Ignis, and I just tried rebuilding the ROM with RomFS Builder. I selected the Ignis output directory, hit Go in RomFS Builder, then named the file 'random.3ds'. Citra Nightly can't open the random.3ds file, it seems. Would you happen to have any ideas?

Thanks and I love your work! 

Thanks!

Your "random.3ds" file isn't booting because Ignis only outputs the files it changes, not a copy of the ROM. These days, modifying the whole RomFS isn't common since there are better options for Citra and Luma.

If you go to your original Fates ROM in Citra and right click on it, there will be an "Open Mods Location" option. From there create a romfs folder and put the randomizer outputs in it.

Link to comment
Share on other sites

4 hours ago, thane98 said:

Thanks!

Your "random.3ds" file isn't booting because Ignis only outputs the files it changes, not a copy of the ROM. These days, modifying the whole RomFS isn't common since there are better options for Citra and Luma.

If you go to your original Fates ROM in Citra and right click on it, there will be an "Open Mods Location" option. From there create a romfs folder and put the randomizer outputs in it.

Thanks, that worked perfectly!

fates.jpg

Link to comment
Share on other sites

Hey, I followed the instructions on the randomizer's readme, dumping the romfs file for a US Fates Special Edition through citra, opening ignis, selecting the romfs folder and an empty output folder, and hitting randomize. 

But all I get are errors, unfortunately


Any ideas what I'm doing wrong?

 

Edit: And just in case it helps, here's the file path for the romfs folder  https://imgur.com/a/ZO8Tj6w

 

Second Edit: Nevermind! Seems like my original rom/dump wasn't as clean as I thought. A fresh one did the trick.

Edited by MyOCBlonic
Link to comment
Share on other sites

  • 3 weeks later...

When I open my fates game in citra after following all steps, after creating my avatar, it says, "Unable to access save data. Please turn the power off and try again", and upon restarting, the save file has all question marks and a 999:59 minute save file which I cannot open.

GShYKza.png

Any idea what the source of this problem may be and what step I may have messed up?

Link to comment
Share on other sites

4 hours ago, Flynn526 said:

When I open my fates game in citra after following all steps, after creating my avatar, it says, "Unable to access save data. Please turn the power off and try again", and upon restarting, the save file has all question marks and a 999:59 minute save file which I cannot open.

GShYKza.png

Any idea what the source of this problem may be and what step I may have messed up?

Going to be honest, I have never seen an error like this before. No idea what could immediately corrupt a save like that.

One thing you could do is try removing the file GameData/GameData.bin.lz from your Citra mods/romfs folder. If you can get in game afterwards, then there's likely an issue with the edits Ignis made to that file. If that's the case, DM it to me and I'll take a look.

Link to comment
Share on other sites

1 hour ago, thane98 said:

Going to be honest, I have never seen an error like this before. No idea what could immediately corrupt a save like that.

One thing you could do is try removing the file GameData/GameData.bin.lz from your Citra mods/romfs folder. If you can get in game afterwards, then there's likely an issue with the edits Ignis made to that file. If that's the case, DM it to me and I'll take a look.

Both before and after removing the GameData file I had the same issue. I'm super unfamiliar with 3ds hacking and citra so it likely could be a mistake made on my end.

Actually, while writing this message I created a new output folder and redid the contents of the mod folder, and it works now!

I'm not really sure what the issue with the original output folder was but after testing it it is likely not an Ignis problem so probably some random mishap from my end.

Thank you for your help!

Link to comment
Share on other sites

hello, I've been working on setting up this randomizer for a friend & I've been having a bit of trouble. has anyone made a walkthrough video for how to set this up? I feel like I'm probably missing something obvious or small but idk. does it matter than the 3DS is using Luma?

my biggest issue is making it back into something the 3DS can work with like a .CIA file or something. I'm unfamiliar with how modfs style dumps are supposed to be handled. all I've known so far is .CIA files

Edited by FB_Serket
Spelling and context
Link to comment
Share on other sites

1 hour ago, FB_Serket said:

hello, I've been working on setting up this randomizer for a friend & I've been having a bit of trouble. has anyone made a walkthrough video for how to set this up? I feel like I'm probably missing something obvious or small but idk. does it matter than the 3DS is using Luma?

my biggest issue is making it back into something the 3DS can work with like a .CIA file or something. I'm unfamiliar with how modfs style dumps are supposed to be handled. all I've known so far is .CIA files

If you’re using Luma then I’d recommend using its layeredfs feature rather than rebuilding the rom.

With that you should just need to put the randomizer’s outputs in a folder on your SD card.

I found this guide for the process: https://gist.github.com/PixelSergey/5dbb4a9b90d290736353fa58e4fcbb42

Link to comment
Share on other sites

24 minutes ago, thane98 said:

layeredfs feature

Ive heard of this/seen it referenced
will I need to copy just randomized the main game files to a title folder in luma or will I need to copy the entire romfs?
as well as, when I randomize the DLC paths, will those go in a title folder that matches the smaller entry in the title manager?
like, the main game is 1.5 gigs-ish and there's an almost identical entry with a slightly different ID and a much smaller size (440 ish MB) I assume thats the DLC content, is that a correct assumption?
many thanks for the quick response, I didnt expect the creator of the tool to come to my rescue so quickly😅

 

edit: I cant seem to get the additional DLC files needed for the randomizer. I extracted a romfs from the CIA that was 440ish mb and copied that romfs folder to merge with the main one and still got an error 😕

Edited by FB_Serket
I confused myself more
Link to comment
Share on other sites

42 minutes ago, FB_Serket said:

Ive heard of this/seen it referenced
will I need to copy just randomized the main game files to a title folder in luma or will I need to copy the entire romfs?
as well as, when I randomize the DLC paths, will those go in a title folder that matches the smaller entry in the title manager?
like, the main game is 1.5 gigs-ish and there's an almost identical entry with a slightly different ID and a much smaller size (440 ish MB) I assume thats the DLC content, is that a correct assumption?
many thanks for the quick response, I didnt expect the creator of the tool to come to my rescue so quickly😅

 

edit: I cant seem to get the additional DLC files needed for the randomizer. I extracted a romfs from the CIA that was 440ish mb and copied that romfs folder to merge with the main one and still got an error 😕

To the first question: just the modified files.

For the DLC question: I can’t help with this one - maybe someone else knows. You probably have to rebuild and install the CIA for DLC routes, but I don’t remember the process for that or dumping the files. I haven’t done it since 2017.

Link to comment
Share on other sites

 

1 minute ago, thane98 said:

For the DLC question: I can’t help with this one - maybe someone else knows. You probably have to rebuild and install the CIA for DLC routes, but I don’t remember the process for that or dumping the files. I haven’t done it since 2017.

hmm, any suggestions on who to ask? or am I going to have to wait for someone else to check this thread and answer it? idk how much traffic this thread gets, but I'm assuming that my question doesn't have great odds to be answered.

ill add my findings to this post in case it jogs your memory or for the next person who comes across this who might know what to do.

Looking at the files in the DLC title I have 4 bin files that are titled ContentInfoArchive_USA_en.bin the other 3 appear to be for Spanish, French, and Portuguese I think. a MetaDataContentHeader.bin and a folder labled "icons" with 26 .icn files, each 4.5 kilobytes
obviously the important parts of the DLC appear to be missing. and attempting to verify them confirms as much, saying that "00000001.app DLC content is missing"

with or without building the CIA for the DLC (which I should mention the ID is 0004008C00179400 and the "0004008c" portion confirms that this is DLC content) I can get to the romfs folder and I get the same result on both my 3DS with a digital copy and on my friend's 3DS with a cartridge copy.
what my question/problem boils down to is this


where are the DLC files? I seem to have found them, but the content isn't in the folder.
thank you again to the creator of the tool for helping so far, and thank you in advance to whomever answers this some time in the future. if I find the solution, I'll add it to this thread so people in the future wont have to deal with it (hopefully)

Link to comment
Share on other sites

Okay so I think I can now make a end to end guide on how to get all the paths files and randomize them. here goes nothing,

to start, I'll list the tools & hacks I used to access the roms and whatnot. I used GodMode9 to dump the files, I obviously used thane98's fantastic Ignis Randomizer (the Beta 2 Version) and Luma to inject the randomized content back into the game.

so the starting info we need is the game IDs. without them its difficult to locate the files. the ID for Fire Emblem Fates is 0004000000179400 this is true for both the cartridge and digital versions of birthright. I don't know the ID for conquest, but it shouldn't be difficult to find.
the ID for the DLC and additional paths is 0004008c00179400
with this information we can us GM9 to directly dump the romfs files.
ill list the steps for the direct romfs dump now
1) go into "[A:] SYSNAND SD\title\00040000\00179400\content"
2) press A on the file labeled 00000000.tmd (this should also confirm that this is indeed FE Fates) select TMD file options, then select the option labeled "Mount CXI/NDS to drive" press A again to navigate to that newly mounted rom
3) you should now see exefs and romfs folders along with some bin files. the only thing we need is the romfs folder. hold down R and press A on the romfs folder, you should be given an option to Copy to 0:/gm9/out press A to start copying these files. (this will take some time and about 1.5 gigabytes of space on your SD card)
now, fun fact time, internally Fates refers to the separate routes as A, B, and C with A being Birthright, B being Conquest, and C being Revelations. this is important so remember that for later.
all of this info was obtained using copies of Birthright, so for Conquest users, the IDs may be different & the routes may be labeled differently, I have no way of checking that for the time being.

now, the romfs dumping of the DLC is similar to the main game but slightly different. or more complex rather.
1) go into "[A:] SYSNAND SD\title\0004008c\00179400\content\00000000"
now I'm sure youre noticing this looks very different and how we skipped the 00000000.tmd file and instead are greeted with (potentially) an array of .app files
from what I can gather, each of these files is a DLC, and the ones we need are 00000002.app and 00000035.app they should be the largest of the DLCs as they actually add a significant amount of content.

2) select one of the two app files and select "NCCH image options"  again, select "Mount image to drive" and then press A to navigate to the newly mounted rom
3) hold down R and press A on the romfs folder and copy to "0:/gm9/out" (these will not take as long as the main game)
4) repeat this for the other app file

now if all went well, you should have all of your romfs files for all 3 routes

at this point, power off your 3DS and remove the SD card. now with your SD card in hand we can access the files on a computer.

we'll need to move the folders around a little bit.
navigating to the folder we used for dumping the files to, we'll have 3 romfs folders (which youll have renamed 2 of them) I titled mine romfsA B and C to correspond to the routes

opening romfsA youll be greeted with a large amount of folders if done correctly. this is where we'll be copying the files from B and C
opening romfsB/C you'll be greeted with a single folder labeled "local" opening that folder will give you 4 folders (GameData, m, movie, Scripts) you can go ahead and delete the two movie folders from B/C, the randomizer doesnt use those at all. now copy the GameData, m, and Scripts folders into the romfsA folder (first attached screenshot/ help1.png)help1.thumb.png.ee6f7e82e57096e662668215849d0811.png

now we can feed the romfsA folder to ignis, and I would recommend making a folder labeled straight up "romfs" for the output
so now we have our randomized files. we can delete the originals/move them off of the SD card for safekeeping or re-randomizing

now this is where things get somewhat shaky, I know how to apply route A for certain but B and C are more... confusing.
so I believe we need to separate out the B and C files back out into their romfs folders this is because the B and C routes are DLC and are supposed to be under the 0004008c00179400 title
so ill stop beating around the bush. in luma youll need to enable game patches which is fairly easy. within the luma files by default youll have just a payloads folder, a config.bin file, and a text file named errdisp.txt we'll need to add a folder named "titles" within that folder we'll add two more folders with the same IDs as the game and the DLC (0004008c00179400 and 0004000000179400 respectively) within those folders we'll add the romfs folders we just got out of the randomizer...
im struggling to think of how to explain this because its a lot of identically named folders needing to be placed in different folders. so sorry if it becomes less coherent, ive been writing this for a few hours now & its getting late.image.png.49eee027eebe8b9618e68b3471d651ba.pngso this is what I made the DLC folder look like. the local folder contains the same GameData m and Scripts file for redundancy/ replicating the original file structure idk which one is correct so I did both. opening m and Scripts, you'll see two folders labled B and C if done correctly. in the full game directory, youll just have A... I think... sorry guys, I'm really running out of steam.
do your best to replicate the original file folder structure. I have no idea how to even verify if B and C randomized. I wish you the best of luck

Link to comment
Share on other sites

  • 2 weeks later...

This randomizer is super cool, having a lot of fun with it. I think there's a lot of untapped potential here, but that's alright, this gets the job done very well. The script changes to match characters are super cool. 

I did run into a few bugs (Conquest rando only)

  • The character Anna randomized into didn't come with a weapon. I don't know if that's intentional or not (they were a kitsune)
  • Kaze and Felicia both came as their default class, but with weapons that would fit the class they were meant to be randomized into. They replaced Arthur and Effie respectively, so I'm not sure if that's tied to the original characters or the characters they randomized into. Kaze also had this issue as an enemy in Chapter 11 (had the weapon of the class he was meant to be randomized into instead of his proper weapon). 
  • A few characters didn't have the equip skills they were meant to, instead taking the default skills at that level for another class. For instance, Gunter --> Xander was listed in the results to have Rally Res and Quixotic as equip skills; instead he had Great Knight defaults of Elbow Room, Shelter, and Luna. Selena --> Camilla had a similar issue; listed as having Duelist's Blow and Dancing Blade, actually had Mercenary default skills of Strong Riposte and Good Fortune.  

I can think of many lengthy and complex things I'd love to see here, but a (hopefully) simple one would be a shop mod to fit some randomized elements better. Stuff like being able to purchase Dragonstones/Beaststones *edit in lower level shops lmao that's a silly mistake* so you don't have useless transforming characters or making purchasable heart seals infinite for experimentation would be nice. This could even branch out into crazier stuff like purchasing randomized skill books, but that would likely not be a simple change.

Edited by Genuine_Angus_B33F
Link to comment
Share on other sites

  • 2 weeks later...

So I am currently looking through the changes and from what I can see, the growthrates are not modified. I dont think I have missed anything, so I was wondering if that is even able to be randomized atm and if not, is there any intend on inclusing such a dunction in the near future?

Link to comment
Share on other sites

Hi again! Just wanted to chime in with a quick suggestion, not sure if it's possible or not. But it'd be cool if there were an option for the randomized characters to have their dialogue replaced in places like my castle, supports, etc. So if Camilla randomized into Ike, Ike would use Camilla's greeting in the shop, instead of just having an empty dialogue box. I believe I've seen something to this effect in randomized runs by youtubers some years ago, not sure how possible it would be in the randomizer tool though.

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...