summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/content_archive.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-11-04common_func: Use std::array for INSERT_PADDING_* macros.bunnei1-11/+28
- Zero initialization here is useful for determinism.
2019-09-21content_archive: Add accessors for Rights ID and SDK VersionZach Hilman1-0/+8
2019-06-20Update content_archive.cppjonsn0w1-2/+2
log clutter in debug logs when theres really no need
2019-01-15content_archive: Add getter for logo section of NCAZach Hilman1-0/+6
2018-11-02content_archive: Add optional KeyManager parameter to constructorZach Hilman1-2/+3
Allows resuing a common KeyManager when a large amount of NCAs are handled by the same class. Should the parameter not be provided, a new KeyManager will be constructed, as was the default behavior prior to this.
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-17/+16
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
2018-10-19vfs: Remove InterpretAsDirectory and related functionsZach Hilman1-3/+0
When writing VFS, it initally seemed useful to include a function to in-place convert container files into directories in one homogenous directory structure, but re-evaluating it now there have been plenty of chances to use it and there has always been a better way. Removing as it is unused and likely will not be used.
2018-10-16content_archive: Simpify assignment of bktr_base_romfs in the constructorLioncash1-2/+1
std::move doesn't actually dereference the data, so it doesn't matter whether or not the type is null.
2018-10-16content_archive: Make IsValidNCA() an internally linked functionLioncash1-1/+1
This is only ever used within the cpp file, so it can just be an internal function.
2018-10-16content_archive: Simplify rights ID checkLioncash1-2/+2
This is the same as using std::any_of with an inverted predicate.
2018-10-16content_archive: Split loading into separate functionsLioncash1-250/+278
The constructor alone is pretty large, the reading code should be split into its consistuent parts to make it easier to understand it without having to build a mental model of a 300+ line function.
2018-10-16content_archive: Pass and take NCASectionHeader instance by referenceLioncash1-2/+2
Each header is 512 bytes in size, which is kind of an excessive amount to copy all the time when it's possible to avoid doing so.
2018-10-13content_archive: Move get key log to Trace levelZach Hilman1-1/+1
Avoids printing live keys in the general log.
2018-09-20file-sys: Default heavy-weight class destructors in the cpp fileLioncash1-0/+2
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-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-3/+3
2018-09-04bktr: Fix bucket overlap errorZach Hilman1-3/+0
2018-09-04nsp: Fix error masking issue with XCI filesZach Hilman1-2/+6
Now display correct error instead of catch-all MissingProgramNCA
2018-09-04bktr: Implement IVFC offset shiftingZach Hilman1-4/+9
Fixes base game read errors
2018-09-04content_archive: Add BKTR header parsing to NCAZach Hilman1-15/+156
2018-09-04file_sys: Replace includes with forward declarations where applicableLioncash1-0/+4
Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed.
2018-08-24content_archive: Add update title detectionZach Hilman1-0/+8
This is needed because the title IDs of update NCAs will not use the update title ID. The only sure way to tell is to look for a partition with BKTR crypto.
2018-08-23xts_encryption_layer: Implement XTSEncryptionLayerZach Hilman1-1/+1
2018-08-10loader: Add more descriptive errorsZach Hilman1-16/+70
Full list of new errors and descriptions in core/loader/loader.h
2018-08-07loader: Add icon and title support to XCIZach Hilman1-0/+4
2018-08-04content_archive: Add support for titlekey cryptographyZach Hilman1-7/+37
2018-08-01Add missing parameter to files.push_back()Zach Hilman1-5/+5
2018-08-01Use more descriptive error codes and messagesZach Hilman1-2/+8
2018-08-01Use ErrorEncrypted where applicable and fix no keys crashZach Hilman1-15/+30
2018-08-01Add missing includes and use const where applicableZach Hilman1-2/+2
2018-08-01Make XCI comply to review and style guidelinesZach Hilman1-30/+18
2018-08-01Remove files that are not usedZach Hilman1-30/+138
2018-07-28RomFS ExtractionZach Hilman1-15/+4
2018-07-19content_archive: std::move VirtualFile in NCA's constructorLioncash1-1/+4
Gets rid of unnecessary atomic reference count incrementing and decrementing.
2018-07-19Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman1-0/+167
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-08Revert "Virtual Filesystem (#597)"bunnei1-164/+0
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman1-0/+164
* Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename