summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/fsmitm_romfsbuild.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fs: Fix RomFS building when zero byte files are presentMorph2020-07-121-2/+2
| | | | | | When zero byte files are present, the key (offset) for that file is identical to the file right after. A std::map isn't able to fit key-value pairs with identical keys (offsets), therefore, the solution is to use std::multimap which permits multiple entries with the same key. This most prominently fixes Pokemon Sword and Shield weather with any RomFS mod applied.
* file_sys/fsmitm_romfsbuild: Utilize a string_view in romfs_calc_path_hash()Lioncash2019-04-051-1/+3
| | | | | The given string instance doesn't need to be copied entirely, we can just use a view instead.
* fsmitm_romfsbuild: Extract stubs and IPS to romfs_ext dirZach Hilman2018-10-041-15/+19
|
* fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFSZach Hilman2018-10-041-0/+14
|
* fsmitm_romfsbuild: std::move std::vector instances in Build()Lioncash2018-09-261-2/+2
| | | | | Avoids making copies of large std::vector instances where it's trivially avoidable to do so.
* fsmitm_romfsbuild: Replace manual value aligning with Common::AlignUp()Lioncash2018-09-261-12/+11
| | | | | Theres no need to do explicit bitwise arithmetic here, when we have a function that does this with a more descriptive name.
* fsmitm_romfsbuild: Avoid type truncation warningsLioncash2018-09-261-7/+10
| | | | | Cast where explicitly necessary and in other cases we can simply modify the algorithm to accomodate larger data.
* fsmitm_romfsbuild: Remove unnecessary constructors and initializers for RomFSBuildFileContext and RomFSBuildDirectoryContextLioncash2018-09-261-5/+3
| | | | | There's no need to duplicate in-class initializers with a constructor initializer list. std::strings also initialize to empty by default.
* fsmitm_romfsbuild: Remove unnecessary loops in Build()Lioncash2018-09-261-6/+0
| | | | | | The std::vector instances are already initially allocated with all entries having these values, there's no need to loop through and fill them with it again when they aren't modified.
* fsmitm_romfsbuild: Make auto variable into a std::size_t variable within Build()Lioncash2018-09-261-1/+1
| | | | | | | | | auto x = 0; auto-deduces x to be an int. This is undesirable when working with unsigned values. It also causes sign conversion warnings. Instead, we can make it a proper unsigned value with the correct width that the following expressions operate on.
* vfs/etc: Append std:: to size_t usagesLioncash2018-09-261-1/+1
| | | | | Given we just recently had a patch backport this from citra, let's try and keep the convention uniform.
* fsmitm: Cleanup and modernize fsmitm portZach Hilman2018-09-241-177/+181
|
* file_sys: Port Atmosphere-NX fs_mitm implementationZach Hilman2018-09-221-0/+368