Jump to content

Fire Emblem Fates Randomizer


thane98
 Share

Recommended Posts

I keep having an error line 34 when I try to randomize it, here's what it says ;

 

Traceback (most recent call last):

File "ignis\core\randomize_worker.py", line 34, in run

Exception: Failed to read data from stores.

 

Caused by:

0: Failed to read data from store 'rom2'.

1: File 'asset/ROM2.lz' does not exist. Attempted to find it using the following paths: '[C:\Users\fredp\Desktop\Fire Emblem Fates\Rando Fates\asset/ROM2.lz,C:\Users\fredp\Desktop\Fire Emblem Fates\romfs\asset/ROM2.lz]'

I dumped my romfs from my game in Citra then selected the romfs files for the randomizer then I created an empty files to choose as my Output and when I try to randomize it this is what I'm getting everytime, anybody know what I might be doing wrong and how to fix this?

Thank you 🙂

Screen1.PNG

screen2.PNG

Screen3.PNG

Link to comment
Share on other sites

  • Replies 422
  • Created
  • Last Reply

Top Posters In This Topic

On 9/7/2021 at 2:09 PM, Tools1308 said:

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?

Growth randomization is already available and known to work based on other users. Do you have an output file / options showing that this isn't working for you?

On 9/8/2021 at 2:22 AM, JugglerPanda said:

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.

If it showed up in other runs, it may have been handled manually. I can add this to the backlog though.

Link to comment
Share on other sites

Hi!

I have been trying to set up the ignis randomizer and got to the point where the package should be built using "maturin develop" and ready to be used if the "main.py" were to be run. However, despite my best efforts I cannot run the "main.py" file in "/ignis-main/ignis/controllers", which I'm assuming should start the application so to speak. Basically, whenever it try to run the command to start "main.py", either it says that the "ignis" module couldn't be found(which could also have to do with the command beeing run while not having the virtualenvironement activated I believe), or there is an error message along the lines of "DLL load failed while importing Shiboken"(when running the command with the virtualenv activated.

 

Any help is appreciated and many thanks.

Link to comment
Share on other sites

7 hours ago, Ly_7 said:

Hi!

I have been trying to set up the ignis randomizer and got to the point where the package should be built using "maturin develop" and ready to be used if the "main.py" were to be run. However, despite my best efforts I cannot run the "main.py" file in "/ignis-main/ignis/controllers", which I'm assuming should start the application so to speak. Basically, whenever it try to run the command to start "main.py", either it says that the "ignis" module couldn't be found(which could also have to do with the command beeing run while not having the virtualenvironement activated I believe), or there is an error message along the lines of "DLL load failed while importing Shiboken"(when running the command with the virtualenv activated.

 

Any help is appreciated and many thanks.

Are you on Windows or Mac? Looks like Windows based on the error message.

For Windows you can get the pre-built version here: https://github.com/thane98/ignis/releases/download/beta-2/Ignis-Beta-2-Windows.7z

Link to comment
Share on other sites

On 9/29/2021 at 6:17 PM, Kyrumah said:

So anybody knows what my problem might be? 
I have no idea what I did wrong since I followed every step so far.

It's an issue reading the file, usually it's one of two issues:

  1.  The paths you chose are wrong. Check if the file it's looking for actually exists at one of the two paths.
  2. There's a permissions error with reading the file. This is a rare issue, but best suggestion I have is moving the extracted RomFS to a different lcoation.
Link to comment
Share on other sites

i have a situation setting up ignis when i try to set up the Rust backend powershell gives me an error it in the picture i follow each step so far but i dont know how to proceed from here. can someone help me with this? the error is this

(venv) PS C:\Users\elrey\Documents\Ignis-Beta-1> maturin develop --release
💥 maturin failed
  Caused by: Can't find Cargo.toml (in C:\Users\elrey\Documents\Ignis-Beta-1)
(venv) PS C:\Users\elrey\Documents\Ignis-Beta-1>

Link to comment
Share on other sites

22 hours ago, zetlym said:

i have a situation setting up ignis when i try to set up the Rust backend powershell gives me an error it in the picture i follow each step so far but i dont know how to proceed from here. can someone help me with this? the error is this

(venv) PS C:\Users\elrey\Documents\Ignis-Beta-1> maturin develop --release
💥 maturin failed
  Caused by: Can't find Cargo.toml (in C:\Users\elrey\Documents\Ignis-Beta-1)
(venv) PS C:\Users\elrey\Documents\Ignis-Beta-1>

To be clear: You only need to build if you are trying to modify the randomizer code or run it on Mac/Linux.

This looks like you downloaded a release build, so run ignis.exe instead.

Link to comment
Share on other sites

  • 1 month later...

Hello, sorry if this has been asked already but i couldn't find it. i went through the randomizer process and it seems to have worked fine. i copied the files from the output into the citra mod folder for the game ( i right clicked the game in citra then selected open mods folder then copied the files in) but it doesn't seem to have any effect on the game. is there some final step that im missing to activate the mods?

Thanks

 

EDIT: Never mind i found where someone else asked the same question. needed to make a romfs folder in the mods folder and put the output into that. Thanks for creating this tool!

Edited by Feeniks
Solved issue
Link to comment
Share on other sites

  • 4 weeks later...
On 10/1/2021 at 11:43 AM, thane98 said:

It's an issue reading the file, usually it's one of two issues:

  1.  The paths you chose are wrong. Check if the file it's looking for actually exists at one of the two paths.
  2. There's a permissions error with reading the file. This is a rare issue, but best suggestion I have is moving the extracted RomFS to a different lcoation.

Yeah I have no clue what that means and I have the exact same problem as him, where would i even find a stores file among all these files and how do i fix it? also is there a discord for all of this?

Traceback (most recent call last):

File "ignis\core\randomize_worker.py", line 34, in run

Exception: Failed to read data from stores.

 

Caused by:

0: Failed to read data from store 'rom2'.

1: File 'asset/ROM2.lz' does not exist. Attempted to find it using the following paths: '[D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\Randomizer Game\asset/ROM2.lz,D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\ROMfs File\asset/ROM2.lz]'

Thats the issue i keep running into and yet I have no idea how to figure out what the right path is. I made a copy of the folder and tried both the one in the citra dump file and even moving them away from there and no results. I just have no clue what this "Store 'Roms2" file is and where i would even locate it.

 

Also is there a video tutorial for this as I find it easier to communicate with others or if theres a video to watch as the instructions are hard to follow

Edited by MarcheLutus
more info
Link to comment
Share on other sites

17 hours ago, MarcheLutus said:

Yeah I have no clue what that means and I have the exact same problem as him, where would i even find a stores file among all these files and how do i fix it? also is there a discord for all of this?

Traceback (most recent call last):

File "ignis\core\randomize_worker.py", line 34, in run

Exception: Failed to read data from stores.

 

Caused by:

0: Failed to read data from store 'rom2'.

1: File 'asset/ROM2.lz' does not exist. Attempted to find it using the following paths: '[D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\Randomizer Game\asset/ROM2.lz,D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\ROMfs File\asset/ROM2.lz]'

Thats the issue i keep running into and yet I have no idea how to figure out what the right path is. I made a copy of the folder and tried both the one in the citra dump file and even moving them away from there and no results. I just have no clue what this "Store 'Roms2" file is and where i would even locate it.

 

Also is there a video tutorial for this as I find it easier to communicate with others or if theres a video to watch as the instructions are hard to follow

  1. No Discord for the randomizer, but there is one for general 3DSFE ROM Hacking. If you're interested in that, PM your Discord user ID and I can send you an invite.
  2. I don't have a video for the randomizer and I'm not much of a video creator. It's possible someone else has made one though.
  3. That last line in the "Caused by" section is what you want. Ignis looked for the file in two locations:
    1.  D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\Randomizer Game\asset\ROM2.lz
    2. D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\ROMfs File\asset\ROM2.lz

Based on that second path, I'm guessing "ROMfs File" only has your romfs.bin file? You need to extract the contents of that file and point Paragon at that. You can use something like https://github.com/evandixon/DotNet3dsToolkit

For reference, the ROM directory you select should look like this:

Capture.thumb.PNG.7564e85f474ea2983aa22b6435a88bf1.PNG

Link to comment
Share on other sites

On 12/13/2021 at 4:15 AM, MarcheLutus said:

Yeah I have no clue what that means and I have the exact same problem as him, where would i even find a stores file among all these files and how do i fix it? also is there a discord for all of this?

Traceback (most recent call last):

File "ignis\core\randomize_worker.py", line 34, in run

Exception: Failed to read data from stores.

 

Caused by:

0: Failed to read data from store 'rom2'.

1: File 'asset/ROM2.lz' does not exist. Attempted to find it using the following paths: '[D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\Randomizer Game\asset/ROM2.lz,D:\Program Files (x86)\Games\Randomizers\Fire Emblem\Fire Emblem Fates\Randomizer Files\ROMfs File\asset/ROM2.lz]'

Thats the issue i keep running into and yet I have no idea how to figure out what the right path is. I made a copy of the folder and tried both the one in the citra dump file and even moving them away from there and no results. I just have no clue what this "Store 'Roms2" file is and where i would even locate it.

 

Also is there a video tutorial for this as I find it easier to communicate with others or if theres a video to watch as the instructions are hard to follow

I never figured out what the actual problem was but I managed to make it work, so I don't know if you're doing this but I was getting them from citra dump file and that didn't work, so I used another program to get the RomFs did the whole thing and then rebuilt the .3ds files and that worked, hope that can help you !

Link to comment
Share on other sites

  • 5 weeks later...
On 12/15/2021 at 5:08 AM, Kyrumah said:

I never figured out what the actual problem was but I managed to make it work, so I don't know if you're doing this but I was getting them from citra dump file and that didn't work, so I used another program to get the RomFs did the whole thing and then rebuilt the .3ds files and that worked, hope that can help you !

can you explain how you did that? i can't figure it out myself. i'm a massive idiot when it when comes to messing with romfs, sorry.

Link to comment
Share on other sites

18 hours ago, no_eyed_girl said:

can you explain how you did that? i can't figure it out myself. i'm a massive idiot when it when comes to messing with romfs, sorry.

Sure so I use HackingToolKit3ds you run that program then it tells you if you want to extract or rebuild your .3ds or CIA files, you extract your FE Fates Files then when it ends your game is separated in different files, one is gonna be named romds, then you can follow the guide on how to use the randomizer, when you're finished, you run HackingToolKit3ds again and use to Rebuild function this time, then you're done, you can use this new .3ds file and it's gonna be randomized, sorry if it's not clear enough English is not my first language so if you need more explanation you can send me a message and I'll try to make a step by step guide with pictures for you 🙂
Good luck!

Link to comment
Share on other sites

I got immediately softlocked because my Gunter replacement was a Strategist with no tomes. Just a staff with 3 uses. Only way to get past it was to play on a lower difficulty and the use a save editor to increase the difficulty later.

Needs logic to prevent weapons from randomizing into staffs on classes that use both.

Thank you

Edited by Popers1328
Link to comment
Share on other sites

  • 2 weeks later...
1 hour ago, spidy116 said:

How do Gen 2 Units work, because paralogue 16 isn't appearing, is it because leo has randomised over a character that doesnt have access to a gen 2 unit?

Gen 1 units should swap access to a gen 2 unit. So if Leo and Gunter swap places then Gunter should unlock a child unit when he marries while Leo should not. If that isn't happening let me know the seed and I can see what went wrong.

Link to comment
Share on other sites

hey so i have an issue with copying my romfs on my 3ds. so every time i try to copy and paste the romfs file (not romfs.binz, just romfs) to the output folder it it keeps saying failed to copy romfs after a while. I checked how much space i had on the sd card (around 14.5 gb left) so idk why it keeps failing to copy it. maybe the romfs is bigger than 14.5 gb i have no idea. if anyone know why it keeps happening and know a solution that be really great

Link to comment
Share on other sites

On 2/5/2022 at 12:52 AM, thane98 said:

Gen 1 units should swap access to a gen 2 unit. So if Leo and Gunter swap places then Gunter should unlock a child unit when he marries while Leo should not. If that isn't happening let me know the seed and I can see what went wrong.

Thanks for this I was getting kinda confused.

Link to comment
Share on other sites

  • 1 year later...
On 8/16/2021 at 9:56 PM, FB_Serket said:

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

IMG-20231009-233338637.jpg Hi, so I own the digital version of Birthright, and Conquest and Revelations as dlc. And this guide helped me so much, thank you for making it!!! 😄

I just wanted to say that after I combined all the romfs into A and randomized it, I never separated the romfs. I just kept them as one big romf and then made the title for Birthright in Luna, and it worked! I'm playing Revelations and the randomizer and everything is working perfectly, so anyone using this method to randomize, you can skip the last steps where you separate the romfs back out into B and C 🙂

Link to comment
Share on other sites

  • 2 months later...

Hi, everytime i try to use this its says 

Traceback (most recent call last):

File "ignis\core\randomize_worker.py", line 34, in run

Exception: Failed to read text data.

 

Caused by:

0: Failed to read text from definition 'TextDataDefinition { path: "m/GameData.bin.lz", localized: true }'

1: File 'm/@E/GameData.bin.lz' does not exist. Attempted to find it using the following paths: '[C:\Users\Digim\Desktop\Rom hack output\m/@E/GameData.bin.lz,C:\Users\Digim\AppData\Roaming\Citra\dump\romfs\000400000017A800\m/@E/GameData.bin.lz]'

how do i fix this?

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