aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys/content_archive.cpp
AgeCommit message (Collapse)Author
2024-02-10am: use applet program loading for tested versionsLiam
2024-01-25vfs: Move vfs files to their own directoryFearlessTobi
2023-08-28vfs: ensure key area keys are validatedLiam
2023-08-15fssystem: rework for yuzu styleLiam
2023-08-15vfs: expand support for NCA readingLiam
2023-07-12file_sys/content_archive: Detect compressed NCAs (#11047)Tobias
2022-11-22general: fix compile for Apple ClangLiam
2022-06-13general: fix compilation on GCC 12Liam
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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.
2021-07-12content_archive: Remove unnecessary include to <ranges>ReinUsesLisp
Fixes build issues on clang.
2021-05-02file_sys: Resolve cases of variable shadowingLioncash
Brings us closer to enabling -Wshadow as an error in the core code.
2021-01-15common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINITReinUsesLisp
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2020-12-10vfs: Use existing type aliases consistentlyLioncash
Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
2020-12-07core: Remove unnecessary enum casts in log callsLioncash
Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-09-22General: Make use of std::nullopt where applicableLioncash
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.
2020-08-23file_sys: Replace inclusions with forward declarations where applicableLioncash
Same behavior, minus unnecessary inclusions where not necessary.
2020-08-03aes_util: Allow SetIV to be non-allocatingLioncash
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.
2020-05-20crypto: Make KeyManager a singleton classFearlessTobi
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.
2019-11-03common_func: Use std::array for INSERT_PADDING_* macros.bunnei
- Zero initialization here is useful for determinism.
2019-09-21content_archive: Add accessors for Rights ID and SDK VersionZach Hilman
2019-06-19Update content_archive.cppjonsn0w
log clutter in debug logs when theres really no need
2019-01-15content_archive: Add getter for logo section of NCAZach Hilman
2018-11-01content_archive: Add optional KeyManager parameter to constructorZach Hilman
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 L
* 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 Hilman
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 constructorLioncash
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 functionLioncash
This is only ever used within the cpp file, so it can just be an internal function.
2018-10-16content_archive: Simplify rights ID checkLioncash
This is the same as using std::any_of with an inverted predicate.
2018-10-16content_archive: Split loading into separate functionsLioncash
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 referenceLioncash
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-12content_archive: Move get key log to Trace levelZach Hilman
Avoids printing live keys in the general log.
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-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-04bktr: Fix bucket overlap errorZach Hilman
2018-09-04nsp: Fix error masking issue with XCI filesZach Hilman
Now display correct error instead of catch-all MissingProgramNCA
2018-09-04bktr: Implement IVFC offset shiftingZach Hilman
Fixes base game read errors
2018-09-04content_archive: Add BKTR header parsing to NCAZach Hilman
2018-09-03file_sys: Replace includes with forward declarations where applicableLioncash
Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed.
2018-08-23content_archive: Add update title detectionZach Hilman
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 Hilman
2018-08-09loader: Add more descriptive errorsZach Hilman
Full list of new errors and descriptions in core/loader/loader.h
2018-08-08Merge pull request #850 from DarkLordZach/icon-metabunnei
Add Icons and Metadata Support
2018-08-06loader: Add icon and title support to XCIZach Hilman
2018-08-04content_archive: Add support for titlekey cryptographyZach Hilman
2018-08-01Add missing parameter to files.push_back()Zach Hilman
2018-08-01Use more descriptive error codes and messagesZach Hilman
2018-08-01Use ErrorEncrypted where applicable and fix no keys crashZach Hilman
2018-08-01Add missing includes and use const where applicableZach Hilman