azahar/src
zhupengfei 890405bb7c
core/file_sys: LayeredFS implementation
This implementation is different from Luma3DS's which directly hooks the SDK functions. Instead, we read the RomFS's metadata and figure out the directory and file structure. Then, relocations (i.e. replacements/deletions/patches) are applied. Afterwards, we rebuild the metadata, and assign 'fake' data offsets to the files. When we want to read file data from this rebuilt RomFS, we use binary search to find the last data offset smaller or equal to the given offset and read from that file  (either from the original RomFS, or from replacement files, or from buffered data with patches applied) and any later files when length is not enough.

The code that rebuilds the metadata is pretty complex and uses quite a few variables to keep track of necessary information like metadata offsets. According to my tests, it is able to build RomFS-es identical to the original (but without trailing garbage data) when no relocations are applied.
2020-02-07 15:19:57 +08:00
..
android android: add logging 2019-03-09 18:23:32 -06:00
audio_core Merge pull request #5024 from jroweboy/temp-hle-audio-fix 2020-01-21 15:30:20 -07:00
citra Implementation of screen rotation without use of additional layouts. 2020-01-20 22:31:51 -03:00
citra_qt citra_qt: config: Move audio to its own tab. (#5079) 2020-02-01 16:04:48 +01:00
common logging/backend: Change type of filename from string to const char* 2020-01-28 14:29:26 +01:00
core core/file_sys: LayeredFS implementation 2020-02-07 15:19:57 +08:00
dedicated_room Fix moderation by room host in dedicated rooms 2019-11-17 09:59:54 -05:00
input_common input_common: main: Remove unnecessary HAVE_SDL2 check. 2019-07-07 11:01:00 -04:00
network network/room: add message/join/leave/kick/ban/unban/game name logging 2019-11-03 09:55:38 -05:00
tests kernel: Rename memory page table set function 2019-06-27 16:33:55 +02:00
video_core Frontend: Only load disk resources if hw shader is enabled 2020-01-22 09:47:53 -07:00
web_service core, web_service: Check for error when registering rooms 2019-04-20 12:50:14 +08:00
.clang-format add java to .clang-format 2019-02-22 16:29:19 -06:00
CMakeLists.txt CMake: Create thin archives on Linux 2019-12-22 10:12:00 +01:00