Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							2b6128fe0b 
							
						 
					 
					
						
						
							
							file_util: Use enum instead of bool for specifing path behavior  
						
						
						
						
					 
					
						2018-08-08 21:18:45 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							656e97df16 
							
						 
					 
					
						
						
							
							vfs: Use RealVfsFilesystem for fs-operations in RealVfsDirectory  
						
						
						
						
					 
					
						2018-08-08 21:18:45 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							52a2e42cb9 
							
						 
					 
					
						
						
							
							file_sys: Add missing include in savedata_factory  
						
						
						
						
					 
					
						2018-08-08 21:18:45 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							aaa8fdea52 
							
						 
					 
					
						
						
							
							vfs: Add unreachable assert to file permissions converter  
						
						
						
						
					 
					
						2018-08-08 21:18:45 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							2de2ec25d6 
							
						 
					 
					
						
						
							
							vfs: Add RealVfsFilesystem implementation  
						
						
						
						
					 
					
						2018-08-08 21:18:45 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							3bf488ce52 
							
						 
					 
					
						
						
							
							vfs: Add VfsFilesystem interface and default implementation  
						
						
						
						
					 
					
						2018-08-08 21:18:45 -04:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-08-08 18:51:52 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fd9da4232b 
							
						 
					 
					
						
						
							
							Merge pull request  #850  from DarkLordZach/icon-meta  
						
						... 
						
						
						
						Add Icons and Metadata Support 
						
						
					 
					
						2018-08-08 12:27:19 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							91cfe70301 
							
						 
					 
					
						
						
							
							loader: Add icon and title support to XCI  
						
						
						
						
					 
					
						2018-08-06 23:13:42 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							5927cf0e17 
							
						 
					 
					
						
						
							
							Use const where applicable  
						
						
						
						
					 
					
						2018-08-06 23:06:33 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							9e88f03e75 
							
						 
					 
					
						
						
							
							Avoid parsing RomFS to directory in NCA  
						
						
						
						
					 
					
						2018-08-06 23:06:33 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							2cc962e171 
							
						 
					 
					
						
						
							
							content_archive: Add support for titlekey cryptography  
						
						
						
						
					 
					
						2018-08-04 14:57:21 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2b06301dbf 
							
						 
					 
					
						
						
							
							Merge pull request  #849  from DarkLordZach/xci  
						
						... 
						
						
						
						XCI and Encrypted NCA Support 
						
						
					 
					
						2018-08-04 14:33:11 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							42a4c6b79e 
							
						 
					 
					
						
						
							
							vfs_vector: Remove unused variable in FindAndRemoveVectorElement()  
						
						... 
						
						
						
						This wasn't being used for anything, so it can be removed. 
						
						
					 
					
						2018-08-02 11:40:24 -04:00 
						 
				 
			
				
					
						
							
							
								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() 
						
						
					 
					
						2018-08-02 11:37:39 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							13cdf1f159 
							
						 
					 
					
						
						
							
							Add missing parameter to files.push_back()  
						
						
						
						
					 
					
						2018-08-01 00:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							187d8e215f 
							
						 
					 
					
						
						
							
							Use more descriptive error codes and messages  
						
						
						
						
					 
					
						2018-08-01 00:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							a9c921a41d 
							
						 
					 
					
						
						
							
							Use ErrorEncrypted where applicable and fix no keys crash  
						
						
						
						
					 
					
						2018-08-01 00:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							03149d3e4a 
							
						 
					 
					
						
						
							
							Add missing includes and use const where applicable  
						
						
						
						
					 
					
						2018-08-01 00:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							239a3113e4 
							
						 
					 
					
						
						
							
							Make XCI comply to review and style guidelines  
						
						
						
						
					 
					
						2018-08-01 00:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							22342487e8 
							
						 
					 
					
						
						
							
							Extract mbedtls to cpp file  
						
						
						
						
					 
					
						2018-08-01 00:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							df5b75694f 
							
						 
					 
					
						
						
							
							Remove files that are not used  
						
						
						
						
					 
					
						2018-08-01 00:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-29 06:16:59 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							906d785c73 
							
						 
					 
					
						
						
							
							RomFS Extraction  
						
						
						
						
					 
					
						2018-07-27 18:14:03 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bc5b65a1b0 
							
						 
					 
					
						
						
							
							Merge pull request  #785  from lioncash/fs  
						
						... 
						
						
						
						partition_filesystem: Use std::move where applicable 
						
						
					 
					
						2018-07-23 20:36:59 -07:00 
						 
				 
			
				
					
						
							
							
								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& 
						
						
					 
					
						2018-07-23 19:40:35 -07:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							db48ebb9c9 
							
						 
					 
					
						
						
							
							partition_filesystem: Use std::move where applicable  
						
						... 
						
						
						
						Avoids copying a std::string instance and avoids unnecessary atomic
reference count incrementing and decrementing. 
						
						
					 
					
						2018-07-23 20:27:11 -04:00 
						 
				 
			
				
					
						
							
							
								Zach Hilman 
							
						 
					 
					
						
						
						
						
							
						
						
							e8f641a52d 
							
						 
					 
					
						
						
							
							NRO Assets and NACP file format  
						
						... 
						
						
						
						Cleanup
Review fixes 
						
						
					 
					
						2018-07-23 12:34:26 -04:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-22 03:22:28 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							398444e676 
							
						 
					 
					
						
						
							
							file_util, vfs: Use std::string_view where applicable  
						
						... 
						
						
						
						Avoids unnecessary construction of std::string instances where
applicable. 
						
						
					 
					
						2018-07-22 03:22:21 -04:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-21 22:42:08 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0f20fa5a1e 
							
						 
					 
					
						
						
							
							Merge pull request  #754  from lioncash/part  
						
						... 
						
						
						
						partition_filesystem, vfs_real: Minor changes 
						
						
					 
					
						2018-07-21 11:38:52 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							89cc8c1617 
							
						 
					 
					
						
						
							
							Merge pull request  #755  from lioncash/ctor  
						
						... 
						
						
						
						file_sys/errors: Remove redundant object constructor calls 
						
						
					 
					
						2018-07-21 10:53:53 -07:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-20 22:37:54 -04:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-20 22:30:22 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							ec71915ede 
							
						 
					 
					
						
						
							
							partition_filesystem, vfs_real: Add missing standard includes  
						
						
						
						
					 
					
						2018-07-20 22:28:35 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							d36e327ba6 
							
						 
					 
					
						
						
							
							partition_filesystem, vfs_real: Use std::move in ReplaceFileWithSubdirectory() where applicable  
						
						... 
						
						
						
						Avoids unnecessary atomic increment and decrement operations. 
						
						
					 
					
						2018-07-20 22:23:58 -04:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-20 22:19:17 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							3e0727df1b 
							
						 
					 
					
						
						
							
							vfs_offset: Simplify TrimToFit()  
						
						... 
						
						
						
						We can simply use std::clamp() here, instead of using an equivalent
with std::max() and std::min(). 
						
						
					 
					
						2018-07-20 22:04:37 -04:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-20 21:51:30 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							dd09439fee 
							
						 
					 
					
						
						
							
							vfs: Use variable template variants of std::is_trivially_copyable  
						
						... 
						
						
						
						Provides the same behavior, but with less writing 
						
						
					 
					
						2018-07-20 21:47:19 -04:00 
						 
				 
			
				
					
						
							
							
								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 
						
						
					 
					
						2018-07-20 21:40:15 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ffbd51e207 
							
						 
					 
					
						
						
							
							Merge pull request  #737  from lioncash/move  
						
						... 
						
						
						
						filesys/loader: std::move VirtualFile instances in constructors where applicable 
						
						
					 
					
						2018-07-20 09:21:15 -07:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2018-07-20 00:04:54 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							bbd6429ecb 
							
						 
					 
					
						
						
							
							partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()  
						
						... 
						
						
						
						This should be returned here, otherwise pfs_dirs is effectively only
ever added to, but never read. 
						
						
					 
					
						2018-07-19 21:08:50 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f1d7486eac 
							
						 
					 
					
						
						
							
							Merge pull request  #703  from lioncash/const  
						
						... 
						
						
						
						savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function 
						
						
					 
					
						2018-07-19 08:46:15 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b0334af05b 
							
						 
					 
					
						
						
							
							Merge pull request  #702  from lioncash/initialize  
						
						... 
						
						
						
						partition_filesystem: Ensure all class members of PartitionFilesystem are initialized 
						
						
					 
					
						2018-07-19 08:45:54 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1bf7ae79c8 
							
						 
					 
					
						
						
							
							Merge pull request  #701  from lioncash/moving  
						
						... 
						
						
						
						content_archive: Minor changes 
						
						
					 
					
						2018-07-19 08:41:42 -07:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							88ba94e8a2 
							
						 
					 
					
						
						
							
							savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function  
						
						... 
						
						
						
						This function doesn't alter class state. 
						
						
					 
					
						2018-07-18 23:50:07 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							9abc5763b6 
							
						 
					 
					
						
						
							
							partition_filesystem: Ensure all class members of PartitionFilesystem are initialized  
						
						... 
						
						
						
						Previously is_hfs and pfs_header members wouldn't be initialized in the
constructor, as they were stored in locals instead. This would result in
things like GetName() and PrintDebugInfo() behaving incorrectly.
While we're at it, initialize the members to deterministic values as
well, in case loading ever fails. 
						
						
					 
					
						2018-07-18 23:45:22 -04:00