Zach Hilman
62e859c6c7
bis_factory: Create NAND dirs if they don't exist
8 years ago
Zach Hilman
3b3c919e20
registration: Take RawCopy function as parameter
Instead of defaulting to VfsRawCopy
8 years ago
Zach Hilman
e5504a060d
registered_cache: Fix missing reading from yuzu_meta
8 years ago
Zach Hilman
167bfddafa
file_sys: Comply to style guidelines
8 years ago
Zach Hilman
bfb945c243
qt: Add 'Install to NAND' option to menu
Prompts for title type on NCA files.
8 years ago
Zach Hilman
a91983b11c
file_sys: Add RegisteredCache
Manages NAND NCA get and install.
8 years ago
Zach Hilman
9aab787122
file_sys: Add support for parsing NCA metadata (CNMT)
8 years ago
Zach Hilman
ab8acce645
card_image: Add accessor for all NCAs in XCI
8 years ago
Zach Hilman
9b0e3556ed
vfs_real: Add CreateFullPath to CreateFile
Fixes bugs with calling CreateFile when the immediate directory does not exist.
8 years ago
Zach Hilman
70a510bd8f
bis_factory: Add partial implementation of BISFactory
Creates and stores RegisteredCaches for user and system NAND, as creation of a RegisteredCache is expensive.
8 years ago
Zach Hilman
42114e1df4
vfs: Add ConcatenatedVfsFile
8 years ago
Zach Hilman
ec3bef7b4c
loader: Add more descriptive errors
Full list of new errors and descriptions in core/loader/loader.h
8 years ago
Zach Hilman
668458525e
vfs: Fix documentation
8 years ago
Zach Hilman
94cf327e77
vfs: Fix typo in VfsFilesystem docs
8 years ago
Zach Hilman
2b6128fe0b
file_util: Use enum instead of bool for specifing path behavior
8 years ago
Zach Hilman
656e97df16
vfs: Use RealVfsFilesystem for fs-operations in RealVfsDirectory
8 years ago
Zach Hilman
52a2e42cb9
file_sys: Add missing include in savedata_factory
8 years ago
Zach Hilman
aaa8fdea52
vfs: Add unreachable assert to file permissions converter
8 years ago
Zach Hilman
2de2ec25d6
vfs: Add RealVfsFilesystem implementation
8 years ago
Zach Hilman
3bf488ce52
vfs: Add VfsFilesystem interface and default implementation
8 years ago
Lioncash
7353cfc781
fsp_srv: Use std::string_view's copy() function instead of strncpy()
Given elements inserted into a vector are zeroed out, we can just copy
MAX_LEN - 1 elements and the data will already be properly null
terminated.
8 years ago
Zach Hilman
91cfe70301
loader: Add icon and title support to XCI
8 years ago
Zach Hilman
5927cf0e17
Use const where applicable
8 years ago
Zach Hilman
9e88f03e75
Avoid parsing RomFS to directory in NCA
8 years ago
Zach Hilman
2cc962e171
content_archive: Add support for titlekey cryptography
8 years ago
Lioncash
42a4c6b79e
vfs_vector: Remove unused variable in FindAndRemoveVectorElement()
This wasn't being used for anything, so it can be removed.
8 years ago
Lioncash
cec9e9b811
vfs_vector: Avoid unnecessary copies where applicable
The lambda elements should be taken by const reference here, and we can
move the virtual directory passed to ReplaceFileWithSubdirectory()
8 years ago
Zach Hilman
13cdf1f159
Add missing parameter to files.push_back()
8 years ago
Zach Hilman
187d8e215f
Use more descriptive error codes and messages
8 years ago
Zach Hilman
a9c921a41d
Use ErrorEncrypted where applicable and fix no keys crash
8 years ago
Zach Hilman
03149d3e4a
Add missing includes and use const where applicable
8 years ago
Zach Hilman
239a3113e4
Make XCI comply to review and style guidelines
8 years ago
Zach Hilman
22342487e8
Extract mbedtls to cpp file
8 years ago
Zach Hilman
df5b75694f
Remove files that are not used
8 years ago
Lioncash
57c4d7aa00
partition_filesystem: Remove dynamic_cast in PrintDebugInfo()
We shouldn't be upcasting our file instances. Given a
PartitionFilesystem is currently designed to accept any arbitrary
VfsFile instances, casting to a more specific type than that is just bad
design, and shows an interface design issue.
8 years ago
Zach Hilman
906d785c73
RomFS Extraction
8 years ago
Zach Hilman
59cb258409
VFS Regression and Accuracy Fixes ( #776 )
* Regression and Mode Fixes
* Review Fixes
* string_view correction
* Add operator& for FileSys::Mode
* Return std::string from SanitizePath
* Farming Simulator Fix
* Use != With mode operator&
8 years ago
Lioncash
db48ebb9c9
partition_filesystem: Use std::move where applicable
Avoids copying a std::string instance and avoids unnecessary atomic
reference count incrementing and decrementing.
8 years ago
Zach Hilman
e8f641a52d
NRO Assets and NACP file format
Cleanup
Review fixes
8 years ago
Lioncash
0081252d31
vfs: Correct file_p variable usage within InterpretAsDirectory()
ReplaceFileWithSubdirectory() takes a VirtualFile and a VirtualDir, but
it was being passed a string as one of its arguments. The only reason
this never caused issues is because this template isn't instantiated
anywhere yet.
This corrects an issue before it occurs.
8 years ago
Lioncash
398444e676
file_util, vfs: Use std::string_view where applicable
Avoids unnecessary construction of std::string instances where
applicable.
8 years ago
Lioncash
0ba7fe4ab1
file_util: Use a u64 to represent number of entries
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
8 years ago
Lioncash
459e158340
file_sys/errors: Remove redundant object constructor calls
Given we're already constructing the error code, we don't need to call
the constructor inside of it.
8 years ago
Lioncash
b46c0ed1fa
vfs_real: Remove redundant copying of std::vector instances in GetFiles() and GetSubdirectories()
We already return by value, so we don't explicitly need to make the
copy.
8 years ago
Lioncash
ec71915ede
partition_filesystem, vfs_real: Add missing standard includes
8 years ago
Lioncash
d36e327ba6
partition_filesystem, vfs_real: Use std::move in ReplaceFileWithSubdirectory() where applicable
Avoids unnecessary atomic increment and decrement operations.
8 years ago
Lioncash
2b91386e15
partition_filesystem, vfs_real: Use std::distance() instead of subtraction
This is a little bit more self-documenting on what is being done here.
8 years ago
Lioncash
3e0727df1b
vfs_offset: Simplify TrimToFit()
We can simply use std::clamp() here, instead of using an equivalent
with std::max() and std::min().
8 years ago
Lioncash
894b0de0f2
vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by const reference
Given the data is intended to be directly written, there's no need to
take the std::vector by value and copy the data.
8 years ago
Lioncash
dd09439fee
vfs: Use variable template variants of std::is_trivially_copyable
Provides the same behavior, but with less writing
8 years ago