Closed Cruel closed 7 years ago
romFs is correctly supported even with 3dsx builds (at least on real hw). Only on Citra3DS, lpp-3ds fails to init romFs.
An example is CHMM2 that uses romFs for lua scripts even in the 3dsx build.
I see, you have --romfs
in your buildscript in the release. However, your 3dsx builds (including CHMM2) set the 3dsx headerSize field to 0x20 which usually only happens when romfs/smdh aren't used (or old 3dsxtool is used).
I would think this would cause the following to fail, but doesn't seem to: https://github.com/smealum/ctrulib/blob/master/libctru/source/romfs_dev.c#L233
This same check is done by citra: https://github.com/citra-emu/citra/blob/0c8df1046f789c9f965300c54d03004fc0b8721e/src/core/loader/3dsx.cpp#L319
Hard to find the root of the problem since you embed the lib/tool builds in the repo, but you're perhaps using romfs in an unconventional way that citra doesn't expect. (but citra still shouldn't crash)
Either way, it may not be worth looking into at this point if you don't have plans on maintaining your 3DS stuff.
Romfs fails with 3dsx because it's not specifying a romfs directory to 3dsxtool. Here's an example how to do it:
https://github.com/devkitPro/3ds-examples/blob/master/romfs/Makefile#L126