| Age | Commit message (Collapse) | Author |
|
This stores a file in the save directory called '.yuzu_save_size' which stores the two save sizes (normal area and journaled area) sequentially as u64s.
|
|
|
|
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
|
|
Allows these functions to compile when T is not u8.
|
|
While we're at it, we can also toss out the leftover capability parsing
from Citra.
|
|
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
|
|
fmt::format() returns a std::string instance by value, so calling
.c_str() on it here is equivalent to doing:
auto* ptr = std::string{}.c_str();
The data being pointed to isn't guaranteed to actually be valid anymore
after that expression ends. Instead, we can just take the string as is,
and provide the necessary formatting parameters.
|
|
file_sys/directory: Amend path buffer size for directory entries
|
|
patch_manager: Add support for disabling patches
|
|
file_sys/save_data_factory: Update SaveDataSpaceId enum
|
|
Amends it with missing values deduced from RE (ProperSystem being from
SwitchBrew for naming)
(SdCardUser wasn't that difficult to discern given it's used alongside
SdCardSystem when creating the save data indexer, based off the usage of
the string "saveDataIxrDbSd" nearby).
|
|
|
|
Mimics hardware behavior.
|
|
|
|
We've already given the constant to the vector itself, so we don't need
to re-hardcode it in the array.
|
|
file-scope system archive array
This allows the array to be constexpr. std::function is also allowed to
allocate memory, which makes its constructor non-trivial, we definitely
don't want to have all of these execute at runtime, taking up time
before the application can actually load.
|
|
file_sys: Implement open source system archives
|
|
file_sys/registered_cache: Eliminate variable shadowing
|
|
|
|
filesystem: De-globalize registered_cache_union
|
|
The path buffer is actually 0x301 (769) characters in length, with the
extra character being intended for the null-terminator.
|
|
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>/
|