aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys
AgeCommit message (Collapse)Author
2018-09-29Merge pull request #1395 from lioncash/vmbunnei
process/vm_manager: Initial modifications to load NPDM metadata
2018-09-26fsmitm_romfsbuild: std::move std::vector instances in Build()Lioncash
Avoids making copies of large std::vector instances where it's trivially avoidable to do so.
2018-09-26fsmitm_romfsbuild: Replace manual value aligning with Common::AlignUp()Lioncash
Theres no need to do explicit bitwise arithmetic here, when we have a function that does this with a more descriptive name.
2018-09-25patch_manager: Invert conditionals within ApplyLayeredFS()Lioncash
Avoids the need to nest code quite a bit by early-exiting in error cases.
2018-09-25vfs_vector: Amend initializer list order in VectorVfsFile's constructor ↵Lioncash
initializer list Orders the initializer list members to be in the same order that they would be initialized in. Avoids compiler warnings.
2018-09-25fsmitm_romfsbuild: Avoid type truncation warningsLioncash
Cast where explicitly necessary and in other cases we can simply modify the algorithm to accomodate larger data.
2018-09-25fsmitm_romfsbuild: Remove unnecessary constructors and initializers for ↵Lioncash
RomFSBuildFileContext and RomFSBuildDirectoryContext There's no need to duplicate in-class initializers with a constructor initializer list. std::strings also initialize to empty by default.
2018-09-25fsmitm_romfsbuild: Remove unnecessary loops in Build()Lioncash
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.
2018-09-25fsmitm_romfsbuild: Make auto variable into a std::size_t variable within Build()Lioncash
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.
2018-09-25vfs/etc: Append std:: to size_t usagesLioncash
Given we just recently had a patch backport this from citra, let's try and keep the convention uniform.
2018-09-25vfs_concat/vfs_layered: Remove friend declarations from ConcatenatedVfsFileLioncash
Given these are only added to the class to allow those functions to access the private constructor, it's a better approach to just make them static functions in the interface, to make the dependency explicit.
2018-09-25vfs_static: Remove template byte parameter from StaticVfsFileLioncash
This converts it into a regular constructor parameter. There's no need to make this a template parameter on the class when it functions perfectly well as a constructor argument. This also reduces the amount of code bloat produced by the compiler, as it doesn't need to generate the same code for multiple different instantiations of the same class type, but with a different fill value.
2018-09-24process/vm_manager: Amend API to allow reading parameters from NPDM metadataLioncash
Rather than hard-code the address range to be 36-bit, we can derive the parameters from supplied NPDM metadata if the supplied exectuable supports it. This is the bare minimum necessary for this to be possible. The following commits will rework the memory code further to adjust to this.
2018-09-23fsmitm: Cleanup and modernize fsmitm portZach Hilman
2018-09-21qt: Add UI elements for LayeredFS and related toolsZach Hilman
2018-09-21romfs: Implement CreateRomFSZach Hilman
2018-09-21file_sys: Port Atmosphere-NX fs_mitm implementationZach Hilman
2018-09-21bis_factory: Add mod directory VFS getterZach Hilman
2018-09-21patch_manager: Add LayeredFS mods supportZach Hilman
2018-09-21vfs_concat: Rewrite and fix ConcatenatedVfsFileZach Hilman
2018-09-21vfs_layered: Add LayeredVfsDirectoryZach Hilman
Reads multiple dirs through as if a waterfall.
2018-09-21vfs_vector: Add VectorVfsFileZach Hilman
Maps a vector into the VFS interface.
2018-09-21vfs_static: Add StaticVfsFileZach Hilman
Always returns the template argument byte for all reads. Doesn't support writes.
2018-09-21vfs: Add and rewite VfsRawCopy functionsZach Hilman
2018-09-21vfs: Add GetEntries methodZach Hilman
Maps name string to directory or file.
2018-09-20Merge pull request #1364 from lioncash/contentbunnei
file-sys: Default heavy-weight class destructors in the cpp file
2018-09-20Merge pull request #1358 from DarkLordZach/temp-storagebunnei
savedata_factory: Add TemporaryStorage SaveDataType
2018-09-20Merge pull request #1363 from lioncash/controlbunnei
control_metadata: Move language name array definition to the cpp file
2018-09-19file-sys: Default heavy-weight class destructors in the cpp fileLioncash
Several classes have a lot of non-trivial members within them, or don't but likely should have the destructor defaulted in the cpp file for future-proofing/being more friendly to forward declarations. Leaving the destructor unspecified allows the compiler to inline the destruction code all over the place, which is generally undesirable from a code bloat perspective.
2018-09-19control_metadata: Remove unnecessary else within GetLanguageEntry()Lioncash
There's no need to indent the code here, given the if case contains a return statement at the end of it.
2018-09-19control_metadata: Move language name array definition to the cpp fileLioncash
This was used in two different translation units (deconstructed_rom_directory and patch_manager). This means we'd be pointlessly duplicating the whole array twice due to it being defined within the header.
2018-09-19xts_archive: Remove unused variables from CalculateHMAC256()Lioncash
These variables aren't used, which still has an impact, as std::vector cannot be optimized away by the compiler (it's constructor and destructor are both non-trivial), so this was just wasting memory.
2018-09-19xts_archive: Make AsNCA() return a std::unique_ptr instead of a std::shared_ptrLioncash
std::shared_ptr isn't strictly necessary here and is only ever used in contexts where the object doesn't depend on being shared. This also makes the interface more flexible, as it's possible to create a std::shared_ptr from a std::unique_ptr (std::shared_ptr has a constructor that accepts a std::unique_ptr), but not the other way around.
2018-09-19xts_archive: Ensure NAX's type member is always initializedLioncash
Ensures that the member always has a deterministic value.
2018-09-19xts_archive: Amend initializer order of NAX's constructorLioncash
Orders the initializer list in the same order the members would be initialized. Avoids compiler warnings.
2018-09-19savedata_factory: Add TemporaryStorage SaveDataTypeZach Hilman
Seems to be used by NSO NES Emulator
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-06file_sys/nca_patch: Amend constructor initializer list orderLioncash
Orders the elements in the initializer list in the order they're specified in the class. This prevents compiler warnings about initialization order.
2018-09-06file_sys/nca_patch: Remove unnecessary includesLioncash
romfs.h doesn't need to be included in the header, the only real dependency here is common's swap.h that needs to be included.
2018-09-06file_sys/patch_manager: Add missing includesLioncash
These includes were previously being satisfied indirectly.
2018-09-05Merge pull request #1242 from lioncash/file-sysbunnei
file_sys/submission_package: Replace includes with forward declarations where applicable
2018-09-05file_sys/submission_package: Correct constructor initialization list orderLioncash
Orders the elements in the sequence to match the order in which they'll actually be initialized in.
2018-09-05file_sys/submission_package: Replace includes with forward declarations ↵Lioncash
where applicable
2018-09-04bktr: Fix bucket overlap errorZach Hilman
2018-09-04patch_manager: Centralize Control-type NCA parsingZach Hilman
2018-09-04nsp: Fix error masking issue with XCI filesZach Hilman
Now display correct error instead of catch-all MissingProgramNCA
2018-09-04game_list: Fix version display on non-NAND titlesZach Hilman
2018-09-04bktr: Add logging on successful patchZach Hilman
2018-09-04bktr: Implement IVFC offset shiftingZach Hilman
Fixes base game read errors
2018-09-04bktr: Fix missing includes and optimize styleZach Hilman