1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-08 13:11:49 +00:00
Atmosphere/stratosphere/ams_mitm/source
Michael Scire 5eabca7f04 ams.mitm: more romfs building space/time tradeoffs.
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.
2021-11-03 23:52:38 -07:00
..
bpc_mitm sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-11 19:01:27 -07:00
dns_mitm sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-11 19:01:27 -07:00
fs_mitm ams.mitm: more romfs building space/time tradeoffs. 2021-11-03 23:52:38 -07:00
ns_mitm sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-11 19:01:27 -07:00
set_mitm sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-11 19:01:27 -07:00
sysupdater sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-11 19:01:27 -07:00
amsmitm_fs_utils.cpp ams: replace most remaining operator & with std::addressof 2021-10-09 14:49:53 -07:00
amsmitm_fs_utils.hpp ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-04 12:59:10 -07:00
amsmitm_initialization.cpp ams: replace most remaining operator & with std::addressof 2021-10-09 14:49:53 -07:00
amsmitm_initialization.hpp ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-04 12:59:10 -07:00
amsmitm_main.cpp strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
amsmitm_module.hpp ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-04 12:59:10 -07:00
amsmitm_module_management.cpp ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-04 12:59:10 -07:00
amsmitm_module_management.hpp ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-04 12:59:10 -07:00
amsmitm_prodinfo_utils.cpp ams: improve offsetof style consistency 2021-10-18 00:17:13 -07:00
amsmitm_prodinfo_utils.hpp ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-04 12:59:10 -07:00