| Age | Commit message (Collapse) | Author |
|
file_sys: Implement open source system archives
|
|
file_sys/registered_cache: Eliminate variable shadowing
|
|
filesystem: De-globalize registered_cache_union
|
|
Also inverts if statements where applicable to allow unindenting code a
little bit.
|
|
We can just return a new instance of this when it's requested. This only
ever holds pointers to the existing registed caches, so it's not a large
object. Plus, this also gets rid of the need to keep around a separate
member function just to properly clear out the union.
Gets rid of one of five globals in the filesystem code.
|
|
ReadOnlyVfsDirectory by default
Ensures that read only indeed means read only.
|
|
This is the same behavior-wise as DeleteDirectoryRecursively, with the
only difference being that it doesn't delete the top level directory in
the hierarchy, so given:
root_dir/
- some_dir/
- File.txt
- OtherFile.txt
The end result is just:
root_dir/
|
|
file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry()
|
|
|
|
std::shared_ptr for InstallEntry()
These parameters don't need to utilize a shared lifecycle directly in
the interface. Instead, the caller should provide a regular reference
for the function to use. This also allows the type system to flag
attempts to pass nullptr and makes it more generic, since it can now be
used in contexts where a shared_ptr isn't being used (in other words, we
don't constrain the usage of the interface to a particular mode of
memory management).
|
|
While we're at it, organize the array linearly, since clang formats the
array elements quite wide length-wise with the addition of the missing
'u'.
Technically also fixes patch lookup and icon lookup with Portuguese,
though I doubt anyone has actually run into this issue.
|
|
patch_manager: Add support for applying LayeredFS patches to ExeFS
|
|
|
|
The decision was made to name them LayeredExeFS instead of just LayeredFS to differentiate from normal RomFS-based mods. The name may be long/unweildy, but conveys the meaning well.
|
|
Fills out the struct according to information provided by SwitchBrew
|
|
This will scan the <mod>/exefs dir for all files and then layer those on top of the game's exefs and use this as the new exefs. This allows for overriding of the compressed NSOs or adding new files. This does use the same dir as IPS/IPSwitch patch, but since the loader will not look for those they are ignored.
|
|
When enabled, all exefs(es) will be copied to yuzu/dump/<title_id>/exefs.
|
|
game_list: Optimize game list refresh
|
|
Rather than keeping around unused values, we can just introduce them as
needed.
|
|
There's no real point to keeping the separate enum around, especially
given the name of the error code itself is supposed to document what the
value actually represents.
|
|
Keeps filesystem-related error codes in one spot.
|
|
|
|
Allows using constexpr/static const data with VFS.
|
|
patch_manager: Add support for dumping uncompressed NSOs
|
|
[ns|fsp_srv]: Implement various functions to boot Checkpoint
|
|
Creates a single KeyManager for the entire container and then passes it into the NCA constructor, eliminating several unnecessary KeyManager reads.
|
|
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.
|
|
Cleans up unused includes and trims off some dependencies on externals.
|
|
* 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
|
|
Returns the raw NACP bytes and the raw icon bytes into a title-provided buffer. Pulls from Registration Cache for control data, returning all zeros should it not exist.
|
|
When enabled in settings, PatchNSO will dump the unmodified NSO that it was passed to a file named <build id>.nso in the dump root for the current title ID.
|
|
Equates to yuzu_dir/dump/<title id>/
|
|
|
|
Returns the raw bytes of the NACP file. Needed for GetApplicationControlData which returns the raw, unprocessed NACP to the game.
|
|
* remove unnecessary if-statements
* Addressed feedback
|
|
vfs: Remove InterpretAsDirectory and related functions
|
|
Prevents a potential bug when using RLE records in an IPS patch.
|
|
Also gets rid of an unused variable.
|
|
patch_manager: Add support for LayeredFS on DLC RomFS
|
|
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: Minor reorganization changes
|
|
XCI: Add function for checking the existence of the program NCA
|
|
|
|
savedata_factory: Add DeviceSaveData and fix TemporaryStorage
|
|
Prevents a Entry from appearing in the list twice if the user has it installed in two places (e.g. User NAND and SDMC)
|
|
|
|
std::move doesn't actually dereference the data, so it doesn't matter
whether or not the type is null.
|
|
This is only ever used within the cpp file, so it can just be an
internal function.
|
|
This is the same as using std::any_of with an inverted predicate.
|
|
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.
|