summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/content_archive.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* vfs: ensure key area keys are validatedLiam2023-08-291-4/+13
|
* fssystem: rework for yuzu styleLiam2023-08-151-6/+3
|
* vfs: expand support for NCA readingLiam2023-08-151-511/+77
|
* file_sys/content_archive: Detect compressed NCAs (#11047)Tobias2023-07-121-1/+38
|
* general: fix compile for Apple ClangLiam2022-11-231-0/+1
|
* general: fix compilation on GCC 12Liam2022-06-141-1/+1
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* content_archive: Remove unnecessary include to <ranges>ReinUsesLisp2021-07-121-1/+0
| | | | Fixes build issues on clang.
* file_sys: Resolve cases of variable shadowingLioncash2021-05-021-10/+11
| | | | Brings us closer to enabling -Wshadow as an error in the core code.
* common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINITReinUsesLisp2021-01-151-12/+12
| | | | INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
* vfs: Use existing type aliases consistentlyLioncash2020-12-101-5/+7
| | | | | Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
* core: Remove unnecessary enum casts in log callsLioncash2020-12-081-8/+11
| | | | | Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts.
* Revert "core: Fix clang build"bunnei2020-10-211-2/+2
|
* core: Fix clang buildLioncash2020-10-181-2/+2
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* General: Make use of std::nullopt where applicableLioncash2020-09-221-5/+5
| | | | | | | | Allows some implementations to avoid completely zeroing out the internal buffer of the optional, and instead only set the validity byte within the structure. This also makes it consistent how we return empty optionals.
* file_sys: Replace inclusions with forward declarations where applicableLioncash2020-08-231-2/+3
| | | | Same behavior, minus unnecessary inclusions where not necessary.
* aes_util: Allow SetIV to be non-allocatingLioncash2020-08-031-3/+4
| | | | | | In a few places, the data to be set as the IV is already within an array. We shouldn't require this data to be heap-allocated if it doesn't need to be. This allows certain callers to reduce heap churn.
* crypto: Make KeyManager a singleton classFearlessTobi2020-05-201-3/+2
| | | | | | Previously, we were reading the keys everytime a KeyManager object was created, causing yuzu to reread the keys file multiple hundreds of times when loading the game list. With this change, it is only loaded once. On my system, this decreased game list loading times by a factor of 20.
* common_func: Use std::array for INSERT_PADDING_* macros.bunnei2019-11-041-11/+28
| | | | - Zero initialization here is useful for determinism.
* content_archive: Add accessors for Rights ID and SDK VersionZach Hilman2019-09-211-0/+8
|
* Update content_archive.cppjonsn0w2019-06-201-2/+2
| | | log clutter in debug logs when theres really no need
* content_archive: Add getter for logo section of NCAZach Hilman2019-01-151-0/+6
|
* content_archive: Add optional KeyManager parameter to constructorZach Hilman2018-11-021-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.
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-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
* vfs: Remove InterpretAsDirectory and related functionsZach Hilman2018-10-191-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.
* content_archive: Simpify assignment of bktr_base_romfs in the constructorLioncash2018-10-161-2/+1
| | | | | std::move doesn't actually dereference the data, so it doesn't matter whether or not the type is null.
* content_archive: Make IsValidNCA() an internally linked functionLioncash2018-10-161-1/+1
| | | | | This is only ever used within the cpp file, so it can just be an internal function.
* content_archive: Simplify rights ID checkLioncash2018-10-161-2/+2
| | | | This is the same as using std::any_of with an inverted predicate.
* content_archive: Split loading into separate functionsLioncash2018-10-161-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.
* content_archive: Pass and take NCASectionHeader instance by referenceLioncash2018-10-161-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.
* content_archive: Move get key log to Trace levelZach Hilman2018-10-131-1/+1
| | | | Avoids printing live keys in the general log.
* file-sys: Default heavy-weight class destructors in the cpp fileLioncash2018-09-201-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.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-3/+3
|
* bktr: Fix bucket overlap errorZach Hilman2018-09-041-3/+0
|
* nsp: Fix error masking issue with XCI filesZach Hilman2018-09-041-2/+6
| | | | Now display correct error instead of catch-all MissingProgramNCA
* bktr: Implement IVFC offset shiftingZach Hilman2018-09-041-4/+9
| | | | Fixes base game read errors
* content_archive: Add BKTR header parsing to NCAZach Hilman2018-09-041-15/+156
|
* file_sys: Replace includes with forward declarations where applicableLioncash2018-09-041-0/+4
| | | | | Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed.
* content_archive: Add update title detectionZach Hilman2018-08-241-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.
* xts_encryption_layer: Implement XTSEncryptionLayerZach Hilman2018-08-231-1/+1
|
* loader: Add more descriptive errorsZach Hilman2018-08-101-16/+70
| | | Full list of new errors and descriptions in core/loader/loader.h
* Merge pull request #850 from DarkLordZach/icon-metabunnei2018-08-081-0/+4
|\ | | | | Add Icons and Metadata Support
| * loader: Add icon and title support to XCIZach Hilman2018-08-071-0/+4
| |
* | content_archive: Add support for titlekey cryptographyZach Hilman2018-08-041-7/+37
|/
* Add missing parameter to files.push_back()Zach Hilman2018-08-011-5/+5
|
* Use more descriptive error codes and messagesZach Hilman2018-08-011-2/+8
|
* Use ErrorEncrypted where applicable and fix no keys crashZach Hilman2018-08-011-15/+30
|
* Add missing includes and use const where applicableZach Hilman2018-08-011-2/+2
|
* Make XCI comply to review and style guidelinesZach Hilman2018-08-011-30/+18
|
* Remove files that are not usedZach Hilman2018-08-011-30/+138
|
* RomFS ExtractionZach Hilman2018-07-281-15/+4
|
* content_archive: std::move VirtualFile in NCA's constructorLioncash2018-07-191-1/+4
| | | | | Gets rid of unnecessary atomic reference count incrementing and decrementing.
* Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman2018-07-191-0/+167
| | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
* Revert "Virtual Filesystem (#597)"bunnei2018-07-081-164/+0
| | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
* Virtual Filesystem (#597)Zach Hilman2018-07-061-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