| Age | Commit message (Collapse) | Author |
|
We can use these to avoid typing the same type redundantly. This way, if
these ever change, only a single location needs to be modified.
|
|
These functions are only used within this translation unit, so we can
make them internally linked.
|
|
Fixes build issues
|
|
file_sys: Replace inclusions with forward declarations where applicable
|
|
registered_cache: Make use of designated initializers
|
|
Same behavior, minus unnecessary inclusions where not necessary.
|
|
Simplifies code.
|
|
Removes the need for comments to indicate the fields being assigned.
|
|
|
|
Avoids some trivially avoidable map lookups by keeping the result of
find operations around and querying them.
|
|
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
|
|
|
|
vfs_vector: Make creation of array vfs files less verbose
|
|
aes_util: Allow SetIV() to be non-allocating
|
|
We can add a helper function to make creation of these files nicer.
While we're at it, we can eliminate an unnecessary std::array copy in
the constructor. This makes the overhead on some of these functions way
less intensive, given some arrays were quite large.
e.g. The timezone location names are 9633 bytes in size.
|
|
time_zone_binary: Make use of designated initializers
|
|
patch_manager: Resolve -Wignored-qualifier warnings
|
|
fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute
|
|
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.
|
|
registered_cache: Resolve -Wmaybe_uninitialized warnings
|
|
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
|
|
|
|
Same behavior, minus a hand-rolled operator.
|
|
Top level const will always be ignored in this case, so it can be
removed.
|
|
While we're at it, we can avoid a redundant map lookup.
|
|
|
|
Fixes an access violation where the file no longer exists at the specified path while being parsed.
|
|
|
|
Previously, the method wasn't modifying any class state and therefore not having any effects when called.
Since this has been the case for a very long time now, I'm not sure if we couldn't just remove this method altogether.
|
|
fs: Fix RomFS building when zero byte files are present
|
|
|
|
|
|
|
|
|
|
- This checks for and removes old updates or dlc based on title id. If a content meta nca exists within the registered cache, it will attempt to remove all the ncas associated with the content meta before installing a new update/dlc
|
|
filesystem: Set various NAND partition sizes to their defaults
|
|
When zero byte files are present, the key (offset) for that file is identical to the file right after. A std::map isn't able to fit key-value pairs with identical keys (offsets), therefore, the solution is to use std::multimap which permits multiple entries with the same key.
This most prominently fixes Pokemon Sword and Shield weather with any RomFS mod applied.
|
|
The file wasn't closed prior to being renamed / moved, throwing an error that states "The process cannot access the file because it is being used by another process." Fix this by closing the file prior to a rename / move operation.
Fixes saving in Luigi's Mansion 3 and KATANA KAMI: A Way of the Samurai Story.
|
|
|
|
We should not be limited by the SDMC's partition size, set this to 1 TiB. Hardware is limited to the max allowed by the MBR partition table which is 2 TiB.
|
|
Sets the total space of user and system partitions to their hardware defaults.
Furthermore, return the total space as free space for the user partition to prevent it from reaching zero.
Some games like Bioshock 2 check for the available free space prior to save creation, and we should not be limited by arbitrary limits.
|
|
Our codebase uppercases member function names.
|
|
crypto: Make KeyManager a singleton class
|
|
Fix compilation on macOS
|
|
Named return value optimization automatically applies here.
|
|
|
|
|
|
|
|
Changes many patch_manager functions to use a case-less variant of
GetSubdirectory. Fixes patches not showing up on *nix systems when
patch directories are named with odd cases, i.e. `exeFS'.
|
|
file_sys: Update SystemVersion archive to version 10.0.2
|