mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-23 04:41:12 +00:00
5eabca7f04
This is needed for Animal Crossing 2.0.0, which has >99000 fucking files. We now do several passes over dir/file tables instead of one pass, doing entire hash tables before we touch dir/file tables. Thus we no longer need to simultaneously allocate hash table and dir/file table space. In addition, we now do repeated passes building a segment of hash tables at a time, when insufficient memory is available. Similar is also now the case for file/dir tables, we try 0x40000 work buffer and divide by 2 until we successfully alloc. We don't allow a work buffer <0x4000, for write/perf reasons. If a game triggers that, let me know I guess. Hard to imagine a worse torture-test for this code than animal crossing. |
||
---|---|---|
.. | ||
fs_mitm_service.cpp | ||
fs_mitm_service.hpp | ||
fs_shim.c | ||
fs_shim.h | ||
fsmitm_boot0storage.cpp | ||
fsmitm_boot0storage.hpp | ||
fsmitm_calibration_binary_storage.cpp | ||
fsmitm_calibration_binary_storage.hpp | ||
fsmitm_layered_romfs_storage.cpp | ||
fsmitm_layered_romfs_storage.hpp | ||
fsmitm_module.cpp | ||
fsmitm_module.hpp | ||
fsmitm_readonly_layered_filesystem.hpp | ||
fsmitm_romfs.cpp | ||
fsmitm_romfs.hpp | ||
fsmitm_save_utils.cpp | ||
fsmitm_save_utils.hpp |