summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/content_archive.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-23general: fix compile for Apple ClangLiam1-0/+1
2022-06-14general: fix compilation on GCC 12Liam1-1/+1
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-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.
2021-07-12content_archive: Remove unnecessary include to <ranges>ReinUsesLisp1-1/+0
Fixes build issues on clang.
2021-05-02file_sys: Resolve cases of variable shadowingLioncash1-10/+11
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 _NOINITReinUsesLisp1-12/+12
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2020-12-10vfs: Use existing type aliases consistentlyLioncash1-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.
2020-12-08core: Remove unnecessary enum casts in log callsLioncash1-8/+11
Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts.
2020-10-21Revert "core: Fix clang build"bunnei1-2/+2
2020-10-18core: Fix clang buildLioncash1-2/+2
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 applicableLioncash1-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.
2020-08-23file_sys: Replace inclusions with forward declarations where applicableLioncash1-2/+3
Same behavior, minus unnecessary inclusions where not necessary.
2020-08-03aes_util: Allow SetIV to be non-allocatingLioncash1-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.
2020-05-20crypto: Make KeyManager a singleton classFearlessTobi1-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.
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