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
Lioncash
05231d8b08
vfs: Amend constness on pointers in WriteBytes() and WriteArrays() member functions to be const qualified
These functions don't modify the data being pointed to, so these can be
pointers to const data
8 years ago
Lioncash
0e9d58e82a
vfs_offset: std::move file and name parameters of OffsetVfsFile
Avoids potentially unnecessary atomic reference count incrementing and
decrementing, as well as string copying.
8 years ago