Alex Barney
8406bea563
Implement CharacterEncoding
2021-07-13 19:44:14 -07:00
Alex Barney
76e5a20e1d
Handle old, pre-release cnmt files
2021-07-10 17:08:30 -07:00
Alex Barney
7cbbf023ff
Add new key sources for key generation 12
2021-07-06 17:28:14 -07:00
Alex Barney
20dcbf8664
Fix a permissions bug when creating system save data
2021-06-29 19:27:49 -07:00
Alex Barney
496858c7a7
Fix incorrect assert in BucketTree.NodeBuffer.Allocate
2021-06-22 19:45:58 -07:00
Alex Barney
b3dc972881
Allow FS access log to be used without a backing FS server
...
Reduces the hactoolnet build size by ~260 KB due to fssrv code no longer being used
2021-06-15 01:55:19 -07:00
Alex Barney
44fd3eb0a4
Update package metadata and readme
...
Changes the description of the project to better reflect what it does
2021-06-15 00:07:50 -07:00
Alex Barney
c59e72606f
Add CreateApplicationCacheStorage
2021-06-08 19:13:47 -07:00
Alex Barney
3018eeb8e8
Fix accidentally disposing an ISaveDataInfoReader
2021-06-01 17:39:53 -07:00
Alex Barney
f4d6d6b3c8
Add some docs and fix a permissions logic error
2021-06-01 10:38:17 -07:00
Alex Barney
b346280bc9
Make SaveDataManagement functions public and add tests
2021-06-01 10:38:17 -07:00
Alex Barney
3056c5c296
Implement extra data functions in SaveDataFileSystemService
2021-06-01 10:38:17 -07:00
Alex Barney
e99d05cc84
Make sure extra data is initialized in DirectorySaveDataFileSystem
2021-06-01 10:38:17 -07:00
Alex Barney
a1477cc9f9
Use a lock file for directory save data
2021-06-01 10:38:17 -07:00
Alex Barney
ccb8c078aa
Write extra data when creating directory save data
2021-06-01 10:38:17 -07:00
Alex Barney
7294206116
Update ISaveDataFileSystemCreator.Create
...
Update method parameters and rewrite the method to use SaveDataSharedFileStorage.
SaveDataFileSystemCreator now requires a FileSystemServer at construction time, so DefaultFsServerObjects must be created after FileSystemServer construction but before FileSystemServer initialization.
2021-06-01 10:38:17 -07:00
Alex Barney
d1a49b989a
Add SaveDataSharedFileStorage
2021-06-01 10:38:17 -07:00
Alex Barney
9f3e6db545
Auto-format SaveDataManagement
2021-06-01 10:38:17 -07:00
Alex Barney
5c6f78e751
Implement all defined methods in SaveDataManagement
2021-06-01 10:38:17 -07:00
Alex Barney
7122052565
Add more methods to SaveDataManagement
...
Skeleton most of the remaining methods in SaveDataManagement.
Implement the methods directly reading and writing save data extra data.
Add PosixTime.cs
FS shim macros now call nn::fs::detail::LogResultErrorMessage before aborting instead of nn::fs::detail::LogErrorMessage
2021-06-01 10:38:17 -07:00
Alex Barney
86be94e9b5
Fill out cache storage functions in SaveDataFileSystemService
2021-06-01 10:38:17 -07:00
Alex Barney
f67d51cb37
Add save data extra data functions to SaveDataFileSystemServiceImpl
...
Adds ReadSaveDataFileSystemExtraData and WriteSaveDataFileSystemExtraData
Auto-format SaveDataFileSystemServiceImpl
Use SdkRecursiveMutexType instead of SdkRecursiveMutex in SaveDataExtraDataAccessorCacheManager
2021-06-01 10:38:17 -07:00
Alex Barney
7aae39c358
Use save data caches in SaveDataFileSystemServiceImpl
2021-06-01 10:38:17 -07:00
Alex Barney
ed8ef13bfd
Add SaveDataResultConvertFileSystem
2021-06-01 10:38:17 -07:00
Alex Barney
6f6201cb6d
Add SaveDataFileSystemCacheRegisterBase
2021-06-01 10:38:17 -07:00
Alex Barney
f1caabf82b
Add SaveDataFileSystemCacheManager
2021-06-01 10:38:17 -07:00
Alex Barney
d06731f464
Add SaveDataExtraDataAccessorCacheManager
2021-06-01 10:38:17 -07:00
Alex Barney
44229f5986
Rename some save data results
2021-06-01 10:38:17 -07:00
Alex Barney
25b94292b3
Modify ISaveDataFileSystemCreator
2021-06-01 10:38:17 -07:00
Alex Barney
649c72e5e6
Add extra data handling to DirectorySaveDataFileSystem
2021-06-01 10:38:17 -07:00
Alex Barney
3bf8826a5b
Fill out SaveDataFileSystemServiceImpl.Configuration
2021-06-01 10:38:17 -07:00
Alex Barney
433e7bb98e
Fix access control debug mask
2021-04-25 15:42:48 -07:00
Alex Barney
b03e7aa7e9
Fix MetaLoader KernelCapabilityOffset bug
2021-04-25 15:42:48 -07:00
Alex Barney
52c0903f61
Add Ncm.ProgramLocation
2021-04-25 15:42:48 -07:00
Alex Barney
1744e0a562
Actually implement IDisposable on DirectoryHandle
2021-04-19 12:27:07 -07:00
Alex Barney
17b8bc5b62
Make fssrv interface adapters public
2021-04-19 12:01:16 -07:00
Alex Barney
4d3a1418f6
Use more accurate Sf IFile and IStorage function signatures
2021-04-19 11:16:38 -07:00
Alex Barney
880916e117
Make FileHandle and DirectoryHandle implement IDisposable
2021-04-19 11:16:38 -07:00
Alex Barney
646055de5a
Update version to 0.13.0
2021-04-18 19:34:37 -07:00
Alex Barney
a730c17bc5
Add Loader.MetaLoader
2021-04-16 14:55:30 -07:00
Alex Barney
bb2c870f27
Update DirectorySaveDataFileSystem to 11.0.0
2021-04-15 16:30:12 -07:00
Alex Barney
4ea2896b72
Improve LocalFileSystem
...
- Add case-sensitive mode.
- Avoid TargetLocked results by waiting and retrying a few times.
- Allow getting either windows or unix timestamps.
- Try a finite number of times if an entry has been deleted before returning TargetLocked.
2021-04-01 01:26:23 -07:00
Alex Barney
8848959831
Add most FS results
2021-03-28 23:13:06 -07:00
Alex Barney
0c255e0f49
Update common path handling code
...
- Updates path handling code to system version 11.0.0.
- Changes InMemoryFileSystem to normalize all incoming paths.
2021-03-28 16:03:05 -07:00
Alex Barney
7269c0a215
Add new assert system
...
Mostly imitates nnsdk's assert system. The assert handler object is global because passing around a HorizonClient object just to do asserts would be annoying
2021-03-27 21:28:13 -07:00
Alex Barney
12fe47c91c
Rename "Detail" namespaces to "Impl"
2021-03-19 16:57:11 -07:00
Alex Barney
0ab26fdd69
Rename FsSrv.Creators to FsSrv.FsCreator
2021-03-19 16:57:11 -07:00
Alex Barney
d8b8e3088e
Use SkipParamInit for handling unwritten out values
...
Use this function in all places out values that set in the original code because of errors. Unmanaged values will stay uninitialized while managed values will be zeroed.
2021-03-19 16:57:11 -07:00
Alex Barney
d2c327377d
Remove "--removefeature:EventSource" compile option
2021-03-12 01:34:14 -07:00
Alex Barney
e2f1d74ae5
Remove some old logging classes
2021-03-12 01:34:14 -07:00
Alex Barney
6e55d8c362
Fill out FS access log code
2021-03-12 01:34:14 -07:00
Alex Barney
39977d8e90
Add the logger from nn::diag
2021-03-12 01:34:14 -07:00
Alex Barney
7950a91dd0
Add ReaderWriterLock
2021-03-12 01:34:14 -07:00
Alex Barney
6360a18fbf
Add padding options to U8StringBuilder
2021-03-12 01:34:14 -07:00
Alex Barney
6641109d94
Update FS shims for new Horizon and access log code
...
Makes all current FS shims more accurate, including using rewritten access log and system tick handling code.
2021-03-12 01:34:14 -07:00
Alex Barney
684fcd460f
Swap in the new fsa code except for some access log calls
2021-03-12 01:34:14 -07:00
Alex Barney
0dc433d8a2
Implement UserFileSystem and mount registration
2021-03-12 01:34:14 -07:00
Alex Barney
a11e84cc81
Implement or skeleton fsa file system code
2021-03-12 01:34:14 -07:00
Alex Barney
61654298d2
Implement or skeleton some mounting code
2021-03-12 01:34:14 -07:00
Alex Barney
596a8bef7c
Rewrite file system accessors
2021-03-12 01:34:14 -07:00
Alex Barney
270e61a501
Add properties to FileSystemServerImpl and StorageService
2021-02-07 00:53:40 -07:00
Alex Barney
e50078d939
Move initialization code out of FileSystemServer
2021-02-07 00:26:20 -07:00
Alex Barney
a94bb81c54
Add FsSrv.Impl.FileSystemProxyServiceObject
2021-02-06 22:04:00 -07:00
Alex Barney
e3c14dfa4f
Add FileSystemProxyServiceObject for the FileSystemClient
...
Moves all the Get*ServiceObject functions to their own file.
Adds InitializeDfcFileSystemProxyServiceObject.
2021-02-06 00:29:47 -07:00
Alex Barney
58e94e99a9
Pass in a FileSystemServer to more classes
2021-02-05 15:18:08 -07:00
Alex Barney
dadc019439
Use globals in more places
...
Adds globals for FileSystemProxyImpl, ProgramRegistryImpl, AccessControl and StorageDeviceManagerFactory
2021-02-02 21:11:51 -07:00
Alex Barney
e9918fa5aa
Add AccessFailureManagementService
2021-01-31 01:23:38 -07:00
Alex Barney
e9f518ddc1
Convert tabs to spaces because spaces are better. Fight me.
...
No idea how this one file got formatted with tabs.
2021-01-30 02:31:17 -07:00
Alex Barney
3463c977dd
Implement the rest of TimeServiceImpl
2021-01-30 02:14:12 -07:00
Alex Barney
d0e608775e
Flesh out FileSystemProxy functions a bit more including 11.0.0 ones
2021-01-30 01:54:43 -07:00
Alex Barney
2f9fbdb818
Add StatusReportService
2021-01-29 17:41:12 -07:00
Alex Barney
e5291eb06a
Fix IFatFileSystemCreator
2021-01-29 01:03:23 -07:00
Alex Barney
119809a965
Add Mmc and SD card portions of Fssrv.Storage
2021-01-29 01:03:06 -07:00
Alex Barney
b315e14da0
Add IDeviceEventSimulator and implement some of the Os namespace
2021-01-28 23:24:24 -07:00
Alex Barney
981b902606
Move Results to their correct namespaces
2021-01-19 21:30:02 -07:00
Alex Barney
65f8ab671f
Mark abstract results as such
2021-01-19 21:30:02 -07:00
Alex Barney
9eeed9c225
Allow defining abstract Results
2021-01-19 21:30:02 -07:00
Alex Barney
7b38708c11
Add missing IFileSystemProxy methods
2021-01-19 21:30:02 -07:00
Alex Barney
e9ffc5a5e6
Move IFileSystemProxy to the Sf namespace
2021-01-19 21:30:02 -07:00
Alex Barney
5367d7c5cd
Add save data transfer sf interfaces
2021-01-19 21:30:02 -07:00
Alex Barney
f2f68958a8
Pull in some results from Atmosphere
2021-01-19 21:30:02 -07:00
Alex Barney
6b8b1515c2
Compress result name data
2021-01-19 21:30:02 -07:00
Alex Barney
2c7291b9ae
Update CoreRT/Native AOT version
2021-01-19 21:30:02 -07:00
Alex Barney
4bf7060ec7
Update ReSharper var style and warnings ( #172 )
...
ReSharper 2020.Something modified the var style again so that arrays of built-in types also count as built-in types, meaning the type should always be explicit.
2021-01-19 19:49:58 -07:00
Alex Barney
4efd95f94c
Add BufferedStorage with some supporting classes
2021-01-18 23:48:37 -07:00
Alex Barney
32a3750a92
Add FileSystemBufferManager
2021-01-18 23:48:37 -07:00
Alex Barney
8e1eb0d057
Add FileSystemBuddyHeap
2021-01-18 23:48:37 -07:00
Alex Barney
454f38f1bb
Rename Assert.AssertTrue to Assert.True
2021-01-18 23:48:37 -07:00
Alex Barney
acce155341
Move some functions from Utilities to LibHac.Util.*
2021-01-18 23:48:37 -07:00
Alex Barney
7fcb0054e4
Support NCA0 sections using IVFC hashes
2020-11-25 23:40:43 -06:00
Alex Barney
369784ff12
Use SkipInit for initializing path string types
2020-11-17 22:41:54 -06:00
Alex Barney
25f8115600
Move to .NET 5.0
2020-11-17 22:41:54 -06:00
Alex Barney
57c0a5065c
Rename FsSrv.Sf file system and storage interfaces
2020-11-10 22:03:54 -07:00
Alex Barney
0efaafd101
Add more NcaFileSystemService functions
2020-11-10 15:07:28 -07:00
Alex Barney
6b6a31dcea
Add BaseStorageService
2020-11-05 01:15:21 -07:00
Alex Barney
c29fed67c1
Add TimeService
2020-11-05 01:14:53 -07:00
Alex Barney
9826178fb6
Add AccessLogService
2020-11-04 00:46:39 -07:00
Alex Barney
a3220cc8df
Fix method signatures in IFileSystemProxy
2020-11-02 17:05:13 -07:00
Alex Barney
882e6bc937
Separate fssrv save code to SaveDataFileSystemService
2020-11-01 23:54:00 -07:00
Alex Barney
3837ed7eea
Add more FS IPC interfaces with adapters
2020-10-14 15:19:15 -07:00
Alex Barney
5dc7c57851
Fully implement LR client and LocationResolverSet
2020-10-14 15:11:35 -07:00
Alex Barney
4113bc2d36
Rename FileSystemProxy to FileSystemProxyImpl
2020-10-14 14:57:19 -07:00
Alex Barney
2bd7bb7892
Use BaseFileSystemService in FileSystemProxy
2020-10-14 14:50:51 -07:00
Alex Barney
be55aa7e9c
Add BaseFileSystemService
2020-10-14 14:48:34 -07:00
Alex Barney
9f81b933e8
KeySet.DeriveKeys now derives both sets automatically
2020-10-13 21:34:08 -07:00
Alex Barney
9bb2c3a843
Support more key parser situations
...
Support comments, ignoring lines that are too long, properly reading the last line in a file. Probably some bug fixes too.
2020-10-13 20:55:48 -07:00
Alex Barney
b6499a6c12
Rename IsEmpty to IsZeros
...
Renames the IsEmpty() functions that check if an array is all zeros. This helps avoid confusion because Span has an IsEmpty property that returns true if the span's length is 0.
The change actually revealed a tiny bug in KeyDerivation where the property was accidentally used instead of the function.
2020-10-11 23:47:26 -07:00
Alex Barney
c39895080b
hactoolnet: Always read both prod and dev key sets
2020-10-11 22:25:02 -07:00
Alex Barney
8f011387a0
Improve key parser performance a bit
2020-10-11 01:26:43 -07:00
Alex Barney
b5dabe78f5
Replace hex string converter and move StringUtils
2020-10-10 20:17:07 -07:00
Alex Barney
a9632c8d00
Rewrite the key file parser
2020-10-10 17:19:40 -07:00
Alex Barney
fa79db2285
Split ExternalKeyReader
2020-10-07 17:54:29 -07:00
Alex Barney
bac541947f
Embed key sources in the library
...
Embedded keys are generated at build-time from the IncludedKeys.txt file under the build directory.
A separate codegen build project was created because generating the embedded keys requires the same LibHac that is being built.
_buildCodeGen.csproj is located under CodeGen because NUKE doesn't like having two build projects in the same directory.
2020-10-06 22:18:34 -07:00
Alex Barney
770406e9c2
Remove the old Keyset class
2020-10-05 12:25:39 -07:00
Alex Barney
e3bb1f1fac
Allow reading dev keys from key files
2020-10-05 01:26:54 -07:00
Alex Barney
7a7cded4f2
Add RSA keys
2020-10-04 20:18:30 -07:00
Alex Barney
333ef8729f
Fix RSA regression from 5f755bc7
and add a test
2020-10-02 01:33:44 -07:00
Alex Barney
f7030aef4f
Add a new KeySet class
2020-10-01 18:06:32 -07:00
Alex Barney
61ce892697
Rewrite the Package1 class, updating it to handle newer package1s
2020-09-28 01:18:15 -07:00
Alex Barney
49711b12db
Tweaks and cleanup for PR #164
...
- Fully span-ify CalculateCmac and update callers.
- Modify CalculateCmac signature to match Nintendo's.
- Avoid doing stackalloc based on an input length parameter.
- Use ReadOnlySpan instead of Span where appropriate.
- Standardize XML comments to use triple slashes.
- Make use of the entire rented buffer when copying.
Unrelated to the PR
- Slip in a missed enum to string conversion in hactoolnet for CoreRT reflection-free mode.
2020-09-05 21:10:39 -07:00
Xpl0itR
265147b678
Changes to CryptoOld
...
- Remove AES functions and replace references with functions from the Crypto.Aes class
- Edit and move the AES-CMAC function into the Crypto.Aes class
- Move BigInteger functions to the Utilities class
- Reduce duplication between the RSA functions
- Edit and move the Rsa parameter recovery function into the Crypto.Rsa class
2020-09-02 19:09:27 +01:00
Xpl0itR
49a8ffd3e2
Expose bufferSize as a variable in CopyTo and CopyToStream
2020-08-30 10:32:52 +01:00
Xpl0itR
771663786d
Use LibHac's RentedArray<T> struct
2020-08-30 10:32:52 +01:00
Alex Barney
d138a52d06
Add some docs for EmulatedBisFileSystemCreator
2020-08-29 21:53:45 -07:00
Alex Barney
30f306f637
Add additional documentation to the access control classes
2020-08-26 17:10:12 -07:00
Alex Barney
4552a2d94f
Add permission checks to DeleteSaveDataFileSystem
2020-08-26 17:10:12 -07:00
Alex Barney
1f25b87d20
Add RegisterProgramIndexMapInfo shim and tests
2020-08-26 17:10:12 -07:00
Alex Barney
6496a2c1bc
Honor permissions in OpenFileSystemWithId. Add basic AC test
2020-08-26 17:10:12 -07:00
Alex Barney
3184e6ca7e
Add IFileSystemProxyForLoader and IProgramRegistry interfaces
2020-08-26 17:10:12 -07:00
Alex Barney
071b608f5f
Tweak how the Horizon class and service manager work
...
- Store IServiceObjects in the service manager that return the usable objects instead of storing the objects directly
- Register FS services in the service manager instead of giving them special treatment
- Give each created HorizonClient its own "process ID"
2020-08-26 17:10:12 -07:00
Alex Barney
deaf111ac3
Add functions to ProgramRegistryService
...
Adds RegisterProgramIndexMapInfo and GetProgramIndexForAccessLog to both FileSystemProxy and ProgramRegistryService
2020-08-26 17:10:12 -07:00
Alex Barney
0b050d2189
Add ProgramIndexMapInfoManager
2020-08-26 17:10:12 -07:00
Alex Barney
004e46cacc
Add the program registry
2020-08-26 17:10:12 -07:00
Alex Barney
76d21263da
Add AccessControl
2020-08-26 17:10:12 -07:00
Alex Barney
3a3c4822be
hactoolnet: Remove use of enum reflection
2020-08-19 11:07:28 -07:00
Alex Barney
2242fc6371
Miscellaneous code style cleanup
2020-08-18 21:47:46 -07:00
Alex Barney
71824f06dc
Fixes in Nca and U8Span
2020-08-17 19:23:30 -07:00
Alex Barney
f2f2111729
hactoolnet: Add functions to convert some enums to strings
2020-08-17 19:23:30 -07:00
Alex Barney
a005b40022
Build updates
...
Use the version in the .csproj if there is no local git repository.
Always use Windows line endings in codegen output.
Update build dependency versions. We're still using GitVersion 5.1.3 because of https://github.com/nuke-build/nuke/issues/509 .
2020-08-15 23:34:48 -07:00
Alex Barney
30273bf3ef
Avoid false positives in detection of unencrypted NCAs
2020-08-15 17:13:28 -07:00
Alex Barney
a07e17c369
Make file option struct constructors public.
2020-08-14 23:40:03 -07:00
Alex Barney
f20337d774
Add support for NCA0 files.
...
Any operation that is supported with other NCAs is supported NCA0s. This includes reading both encrypted and decrypted NCA0s, and encrypting and decrypting NCA0s.
2020-08-14 22:09:11 -07:00
Alex Barney
6bab1d9273
Support extracting INI binaries embedded in the kernel
2020-08-12 14:27:58 -07:00
Alex Barney
8491ec2117
Add Package2StorageReader and InitialProcessBinaryReader
2020-08-12 14:27:58 -07:00
Alex Barney
81340027fc
Rename FsService to FsSrv
2020-08-07 18:32:01 -07:00
Alex Barney
24ba7c6b5b
Set the next version to 0.12.0
2020-08-07 10:22:14 -07:00
Alex Barney
9e57cc174e
Add documentation for SaveDataIndexer and related classes
2020-08-07 10:02:50 -07:00
Alex Barney
c1b9eb8903
Change ref
to in
where possible in SaveDataIndexer and kvdb
2020-08-07 10:02:50 -07:00
Alex Barney
d575415b0e
Remove the old KeyValueDatabase
2020-08-07 10:02:50 -07:00
Alex Barney
a551360da0
Use FlatMapKeyValueStore in SaveDataIndexer
...
FS 10.0 tweaks how the SaveDataIndexerManager is accessed. SaveDataFileSystemServiceImpl's configuration now includes an ISaveDataIndexerManager instead of using global state.
FS 10.0 uses the new nn::fssrv::storage namespace for abstracting the interface to nn::gc and nn::sdmmc. A tiny bit of the namespace has been added so we can create mock SD card handles for SaveDataIndexerManager.
ReferenceCountedDisposable<T> is now being used for returning ISaveDataInfoReader objects from IFileSystemProxy. I've tried coming up with a pattern to cleanly return a ReferenceCountedDisposable<T>, but the lack of features like RAII or move semantics makes this difficult without either lots of allocations or lots of boilerplate code.
2020-08-07 10:02:50 -07:00
Alex Barney
37251968c0
Add FlatMapKeyValueStore with tests
2020-08-07 10:02:50 -07:00
Alex Barney
672a0016b3
Use "in" instead of "ref" for read-only SpanHelper methods
2020-08-07 10:02:50 -07:00
Alex Barney
717e54fe4e
Rename TitleId to ProgramId and add other NCM ID types
2020-08-07 10:02:50 -07:00
Alex Barney
3819cfdca7
Flesh out NCA encryption
...
Allows opening decrypted NCAs.
Allows opening encrypted and decrypted storages of any NCA, whether encrypted or decrypted.
hactoolnet: Allow saving an encrypted version of any NCA.
2020-07-24 22:41:45 -07:00
Xpl0itR
e0ddf17945
Implement function in NCA class to re-encrypt decrypted NCAs
2020-07-24 22:41:45 -07:00
leo60228
c56c8ba8ed
Include title ID in --listapps when possible
2020-07-24 15:35:20 -07:00
Alex Barney
7dd21ae05b
SubStorage in AesXtsFile should be resizable
2020-07-06 11:43:48 -07:00
Alex Barney
d04e713356
Add some docs to SubStorage
2020-07-06 11:43:48 -07:00
Alex Barney
d7ae809cf3
Add TruncatedSubStorage
2020-07-06 11:43:48 -07:00
Alex Barney
e9c38dc7ba
Remove old SubStorage
2020-07-06 11:43:48 -07:00
Alex Barney
f02c84e8dd
Add ReferenceCountedDisposable<T>
...
This class is meant to be used in the same types of places std::shared_ptr is used but with manual instead of automatic ref counting.
SubStorage now uses the class to optionally dispose its base storage object.
2020-07-06 11:43:48 -07:00
Alex Barney
b6eac5ddb5
Rename Util class to Utilities
...
Preparation to split it up into the Util namespace and to add nn::util code
2020-07-06 11:43:48 -07:00
Alex Barney
88983d39e5
Remove use of code that involves reflection
...
This allows over 40% of the CoreRT native binary size to be removed by removing reflection capabilities.
The "--noreflection" option for the build script can be used to build hactoolnet with no reflection.
The Linux build won't always work because creating a new thread for the progress bar runs into some issue with EventSource being removed.
2020-06-27 16:28:32 -07:00
Alex Barney
83dc874df1
Rent arrays in BucketTree.Visitor
2020-06-26 09:11:06 -07:00
Alex Barney
33b414a15c
Remove old BucketTree
2020-06-25 20:50:54 -07:00
Alex Barney
d3abdeacc4
Use the new BucketTree in Aes128CtrExStorage
2020-06-25 19:03:51 -07:00
Alex Barney
33af34cefc
Rewrite IndirectStorage
2020-06-25 15:26:55 -07:00
Alex Barney
c2247e583f
Address compiler warnings
2020-06-19 22:01:22 -07:00
Alex Barney
4b4b354a7e
Use IStorage for the bucket tree builder instead of Spans
2020-06-19 22:01:22 -07:00
Alex Barney
9589f681a6
Add a bucket tree builder
2020-06-19 22:01:22 -07:00
Alex Barney
0c06d9e0b3
Implement most of Nintendo's bucket tree code
2020-06-19 22:01:22 -07:00
Alex Barney
9ec00eed3b
Merge pull request #146 from Thealexbarney/fs-classes
...
Change the file system accessor interfaces to abstract classes
2020-06-14 20:19:56 -07:00
Alex Barney
395fabd171
Make IStorage an abstract class
2020-06-13 00:37:21 -07:00
Alex Barney
49d42c5d1f
Fix some checks being ignored in savedata classes
...
- Return an error when an allocation table seek fails
- Fix a copy/paste bug to properly error when resizing an AllocationTableStorage with not enough free space
2020-06-10 16:27:43 -07:00
Alex Barney
106c36492b
Move IFileSystem etc. into fsa namespace
2020-06-09 22:55:59 -07:00
Alex Barney
ef1481b04c
Replace old fsa classes with new ones
2020-06-07 15:23:51 -07:00
Alex Barney
ba1bf2f1c8
Add XML docs
2020-06-07 00:05:33 -07:00
Alex Barney
7c9584a6af
Add new IFileSystem and IDirectory
2020-06-06 22:48:20 -07:00
Alex Barney
dd54249125
Rename FileBase "Impl" methods
2020-06-06 15:20:02 -07:00
Alex Barney
e1ff89060c
Add new IFile
2020-06-06 15:18:50 -07:00
Alex Barney
064da36453
Rename old IFile option enums
2020-06-06 14:18:03 -07:00
Alex Barney
8c61820e46
Increment version to 0.11.3 and apply "var" code style
2020-06-05 22:59:00 -07:00
Alex Barney
5dd1ed2687
hactoolnet: Allow listing an XCI's program RomFS files
2020-06-05 22:32:16 -07:00
Alex Barney
13648b4cec
Merge pull request #140 from Thealexbarney/build-ver-fix
...
Fix a logic error in the build script loader and update MyGet publishing
2020-06-04 11:27:26 -07:00
Alex Barney
3de2a4b90b
Update MyGet package publishing
2020-06-04 11:17:30 -07:00
Alex Barney
dfb2560707
Fix ini1 reading and fix a blz decompression bug
2020-06-04 01:09:27 -07:00
Alex Barney
a59dc611c2
Don't timeout when ensuring a local FS entry is deleted
2020-06-02 23:32:50 -07:00
Xpl0itR
2171f2ae21
Update Calibration
2020-06-02 21:15:45 -07:00
Alex Barney
99f6a0054b
Version 0.11.2
2020-05-12 19:23:05 -07:00
Alex Barney
8d5e24d061
Ensure csv column counts are consistent
2020-05-12 19:02:48 -07:00
Alex Barney
cb8b088487
Misc additions and warning fixes ( #134 )
...
* Run codegen and fix DeliveryCacheFileMetaEntry layout
* Use KipReader instead of Kip
* Ensure feature parity between U8String structs
* Don't use the obsolete Nacp class
* Add some null checks
* Address ReSharper warnings
* The Result structs should be readonly
2020-05-12 17:06:55 -07:00
Alex Barney
44e4c7a311
Add some fssystem utility functions and use them in DirectorySaveDataFileSystem ( #133 )
...
* Accurately implement DirectorySaveDataFileSystem
* DirectorySaveDataFileSystem updates from FS 10.0
2020-05-12 13:17:06 -07:00
Alex Barney
0188c4579c
Update version to 0.11.1
2020-04-30 14:21:34 -07:00
Alex Barney
32405fee5f
Add EnumerateDeliveryCacheDirectory
2020-04-30 14:08:31 -07:00
Alex Barney
1974adb33e
Don't use in-place decompression for NSOs
...
Move back to using in-place decompression in the future when the decompress function has been fixed
2020-04-28 23:03:33 -07:00
Alex Barney
fdf11b2621
Merge pull request #129 from Thealexbarney/bcat-storage
...
Implement BCAT delivery cache access
- Add BCAT delivery cache reading services
- Add methods to `U8StringBuilder` for writing formatted values
- Add a `HorizonClient` class which mimics nnsdk from Horizon
- Add a simple service manager that tracks registered objects
2020-04-28 22:54:58 -07:00
Alex Barney
be29ad714f
Add the option to initialize Horizon with a FileSystemServer
2020-04-24 11:35:04 -07:00
Alex Barney
e80be498e5
Add a simple service manager and HorizonClient class
...
Modifies bdat to use the HorizonClient and adds an ArpClient. The arp server still needs to be provided.
2020-04-23 17:49:15 -07:00
Alex Barney
9b1ced7d3b
Small tweaks to U8StringBuilder
2020-04-22 13:47:01 -07:00
Alex Barney
f3452bb314
BCAT fixes. Tweak how U8StringBuilder is used
2020-04-11 22:18:43 -07:00
Alex Barney
6e4372ce58
Implement DeliveryCacheDirectoryService
2020-04-10 11:31:46 -07:00
Alex Barney
ef36568a8d
Implement DeliveryCacheFileService and supporting code
2020-04-10 10:54:37 -07:00
Alex Barney
939c495db6
Add U8StringBuilder format options
2020-04-10 10:49:44 -07:00
makigumo
6473a0cc0d
NsoHeader.cs: fix _reserved6C field offset
2020-04-09 21:52:44 -07:00
Alex Barney
da78e7e8ce
Add BCAT storage skeleton
2020-04-07 00:22:12 -07:00
Alex Barney
5018bbad6a
hactoolnet: Use FileSystemClient instead of Horizon
2020-04-06 22:17:04 -07:00
Alex Barney
12775895eb
Add non-system BCAT mount shim
2020-04-04 14:19:36 -07:00
Alex Barney
7bcb09b714
Add BIS shim functions with tests
2020-04-04 14:16:17 -07:00
Alex Barney
405bbeff9e
Add some FspPathPrintf functionality and change a constant name
2020-04-02 21:54:26 -07:00
Alex Barney
e5c851e7a3
Add KipReader class and add kip decompression to hactoolnet
2020-03-29 22:12:00 -07:00
Alex Barney
f59c7c6a84
Add NsoReader
2020-03-26 22:52:49 -07:00
Alex Barney
9cc60e22ec
Add loader and libhac results
2020-03-26 22:45:59 -07:00
Alex Barney
b8b2c26457
Tweak duplicate result detection
2020-03-23 16:04:49 -07:00
Alex Barney
0bb3446a8b
Make path parser check for a null terminator
2020-03-23 15:54:11 -07:00
Alex Barney
ef72729391
Mark Nacp as deprecated
2020-03-23 10:32:22 -07:00
Alex Barney
d68ca84f07
Update versions to 0.10
2020-03-23 09:40:41 -07:00
Alex Barney
f44b09ec1f
Add some Results
2020-03-23 09:10:55 -07:00
Alex Barney
95ef1c9529
Don't write to a read-only file
2020-03-22 17:52:27 -07:00
Alex Barney
8ead72ed84
Add OpenMultiCommitManager to IFileSystemProxy
2020-03-22 00:12:25 -07:00
Alex Barney
0ab96f67bf
Add new functions to existing classes deriving from IFileSystem
2020-03-21 23:37:32 -07:00
Alex Barney
ce54ae111c
Add MultiCommitManager
...
- Recovering from an interrupted commit isn't implemented yet
2020-03-21 22:44:38 -07:00
Alex Barney
d1110392b4
Add a function to specify that a returned Result is unused
2020-03-21 22:39:07 -07:00
Alex Barney
0e26c31a2f
Enable OpenHostFileSystem in FileSystemProxy and add XML docs
2020-03-16 15:07:09 -07:00
Alex Barney
f7957b4cc8
Remove some old code
2020-03-14 23:27:49 -07:00
Alex Barney
0c6447daac
Use U8StringBuilder instead of PathBuilder
2020-03-14 23:22:34 -07:00
Alex Barney
7b4df4671c
Add fs_Host shims
2020-03-14 00:18:42 -07:00
Alex Barney
a006816a2e
Allow opening directories with OpenFileSystem
2020-03-13 00:09:44 -07:00
Alex Barney
036e048208
Finish OpenFileSystemWithId enough to work with most content
2020-03-10 15:07:06 -07:00
Alex Barney
281fc8aac3
Add TryOpenNsp
2020-03-09 23:44:28 -07:00
Alex Barney
c79053eac3
Add more to OpenFileSystem
2020-03-09 23:44:28 -07:00
Alex Barney
a1eca88378
Add some of OpenFileSystemWithId
2020-03-09 23:44:28 -07:00
Alex Barney
328968c630
Use U8Span more in FilleSystemClient
2020-03-09 00:06:39 -07:00
Alex Barney
c141b72912
Use U8Span in IFileSystem instead of string
2020-03-08 01:00:02 -07:00
Alex Barney
d6fede0893
Don't return duplicate entries in LayeredFS. Add tests
2020-03-03 18:19:11 -07:00
Alex Barney
1f6046ba63
Remove DirectoryEntryType.NotFound
2020-03-03 18:16:29 -07:00
Alex Barney
7ce9ea09e6
Misc build updates
2020-02-29 01:36:23 -07:00
Alex Barney
4d8ace968f
Bump version to 0.9.0
2020-02-28 23:58:29 -07:00
Alex Barney
24f293c27a
Add names to Results missing them
2020-02-27 23:31:38 -07:00
Alex Barney
14dd2190a5
Add a default, reflection-less Result name resolver
2020-02-27 11:33:39 -07:00
Alex Barney
53c8dceb87
Add XML docs and a header to the Result files
2020-02-26 14:45:58 -07:00
Alex Barney
27618bbc45
Indent results based on hierarchy
2020-02-26 00:55:53 -07:00
Alex Barney
07d8b7c21e
Add results found in a Unity game
2020-02-25 17:32:30 -07:00
Alex Barney
5345d2747e
Generate Results from a .csv file
2020-02-24 14:45:51 -07:00
Alex Barney
7bef4c6cd9
Combine common code in EnsureApplicationSaveData
2020-02-22 03:05:04 -07:00
Alex Barney
cfb79f5780
Add EnsureApplicationCacheStorage
2020-02-18 23:12:23 -07:00
Alex Barney
44ff25ee9b
Add cache storage and an emulated SD card
2020-02-13 17:21:24 -07:00
Alex Barney
4ff12ec21b
Fix AesXtsFileSystem
2020-02-12 03:04:04 -07:00
Alex Barney
ea8cc33003
Always allow opening directory savedata
2020-02-12 03:04:04 -07:00
Alex Barney
ecf7bcd8ad
Rewrite SubdirectoryFileSystem
2020-02-12 03:04:04 -07:00
Alex Barney
1c28c08c94
Add PathNormalizer
2020-02-12 03:04:04 -07:00
Alex Barney
cb6827e6c2
Add PathTool.IsSubpath
2020-02-12 03:04:04 -07:00
Alex Barney
bc11d7ceaf
Implement Nintendo's path normalization functions
2020-02-12 03:04:04 -07:00
Alex Barney
3139f6900e
Add common IFileSystem tests
...
Change GetFileAttributes method signature
2020-01-29 17:33:42 -07:00
Alex Barney
de13c71a0d
Add some Result XML docs
2020-01-26 15:34:26 -07:00
Alex Barney
0040db1153
Add IResultLogger and IResultNameResolver
2020-01-26 15:34:26 -07:00
Alex Barney
5910b9f9c2
Add some results from Atmosphere
2020-01-26 15:34:26 -07:00
Alex Barney
9034c54318
Refactor the Result struct
2020-01-26 15:34:26 -07:00
Alex Barney
35b82f5d6e
Misc tweaks ( #111 )
...
- Use System.HashCode in GetHashCode methods
- Update master key revisions.
- Remove some unneeded utility functions
- Suppress a spurious ReSharper warning
2020-01-19 23:31:23 -07:00
Alex Barney
1ae973a346
Add InMemoryFileSystem
2020-01-19 14:55:34 -07:00
Alex Barney
da467a10b0
Add ToU8String method to U8Span. Add PathTools.GetFileName
2020-01-19 14:55:34 -07:00
Alex Barney
b742a37012
Rewrite MemoryStorage
2020-01-19 14:55:34 -07:00
Alex Barney
857bde67ee
Simplify CoreRT build
2020-01-17 00:20:24 -07:00
Alex Barney
3c7f1692b7
Create temporary savedata in EnsureApplicationSaveData
2020-01-13 21:31:18 -07:00
Alex Barney
5b0c81fcf9
Clean temp storage on FileSystemServer init
2020-01-13 21:31:18 -07:00
Alex Barney
5c1a7920d2
Open temp directory savedata properly
2020-01-13 21:31:18 -07:00
Alex Barney
9c402df18a
Add SaveDataIndexerLite
2020-01-13 21:31:18 -07:00
Alex Barney
6abe565de1
Add more savedata shim functions
2020-01-13 21:31:18 -07:00
Alex Barney
b868c8f51a
Cast enums to int before formatting in string
2020-01-03 22:06:18 -07:00
Alex Barney
76598cfac9
Filter savedata info rank correctly
2020-01-03 22:06:18 -07:00
Alex Barney
e8bef8af6a
Update SourceLink package/info and target .NET Core 3.1 with hactoolnet ( #106 )
...
Make hactoolnet target the LTS .NET Core version.
LibHac still targets .NET Core 3.0.
2019-12-30 23:05:29 -07:00
Alex Barney
5e4ea459cb
Update var usage based on ReSharper "when apparent" rules
2019-12-28 15:16:21 -07:00
Alex Barney
496250f094
hactoolnet: add nax0 support
2019-12-27 19:18:29 -07:00
Alex Barney
d68062c8b4
Fix keyblob key derivation regression
2019-12-26 23:16:46 -07:00
Alex Barney
70a879917a
hactoolnet: Print the key used to sign/verify savedata
2019-12-26 23:16:46 -07:00
Alex Barney
dd74f44297
hactoolnet: Improve save processing error messages
...
Return a message indicating keys may be missing when a commit fails after replacing files in a save.
2019-12-18 11:59:23 -06:00
Alex Barney
2b828bb50f
Use runtime instead of compile-time conditionals for result logging
2019-12-18 11:59:23 -06:00
Alex Barney
47f2f4954a
Ensure returned result codes are logged
2019-12-18 11:59:23 -06:00
Alex Barney
5d6dce7e1f
Properly pass the missing rights ID to MissingKeyException
2019-12-18 11:59:23 -06:00
Alex Barney
d08e6b060c
Add PartitionFileSystemCore
2019-12-07 16:12:49 -06:00
Alex Barney
0c4aad32a0
Ignore key name case when parsing a key file
2019-12-07 16:12:49 -06:00
Alex Barney
ba2a923296
Update FS enum and structure names
...
The new names should be all or mostly all official
2019-12-07 16:12:49 -06:00
Alex Barney
89d70757a3
Add MountApplicationPackage
2019-12-07 16:12:49 -06:00
Alex Barney
31563ad108
Add FileStorageBasedFileSystem
2019-12-07 16:12:49 -06:00
Alex Barney
3d7ff652e0
Add CommonMountNames
2019-12-07 16:12:49 -06:00
Alex Barney
ac70990fa0
Add Slice functions to U8Strings
2019-12-07 16:12:49 -06:00
Alex Barney
a6161e693c
Add MountContent shims
2019-12-07 16:12:49 -06:00
Alex Barney
c6a261eeee
Rename LocalAccessLogMode to AccessLogTarget
2019-12-07 16:12:49 -06:00
Alex Barney
57586d75fd
Target netstandard2.1 and netcoreapp3.0 ( #99 )
...
.NET Core 2.1 introduced some runtime changes to support Span<T> and ByReference. Along with this comes the ability to do things like reinterpret memory as a different type. In .NET Framework the garbage collector couldn't track these references. These features proved useful enough that support for .NET Framework was dropped.
* Target netstandard2.1 and netcoreapp3.0
* Build: Zip native builds. Put version in zip filename
* Always build native exe on AppVeyor
2019-11-29 13:11:04 -06:00
Alex Barney
fdc3a11692
Bump version to 0.7.0
2019-11-26 20:49:55 -06:00
Alex Barney
e18481b3b7
Use Sha256Generator throughout the library
2019-11-26 18:13:30 -06:00
Alex Barney
1efcf3327c
Add SHA-256 benchmark with the option to display cycles per byte
2019-11-26 18:13:30 -06:00
Alex Barney
1aa5c9438e
Add Sha256Generator
2019-11-26 18:13:30 -06:00
Alex Barney
f9232b9f12
Add ICipherWithIv interface
2019-11-25 11:39:57 -06:00
Alex Barney
99522b748e
Add optimized functions for decrypting a single AES block
2019-11-25 11:39:57 -06:00
Alex Barney
abce62dd4f
Avoid running into problems from a GC hole in runtimes that don't support fast span.
...
Support for .NET Framework probably needs to be removed soon. Having runtime support for CreateSpan has turned out to be rather useful.
2019-11-23 21:05:37 -06:00
Alex Barney
2f6b75a8eb
Remove use of Enum.TryParse
2019-11-23 20:06:19 -06:00
Alex Barney
3395ebff44
Improve AES key expansion performance
2019-11-23 20:05:05 -06:00
Alex Barney
e02e719ea5
Add crypto benchmarks
2019-11-23 18:56:31 -06:00
Alex Barney
ff23a9179c
Add some NACP enums
2019-11-22 19:53:55 -06:00
Alex Barney
a7c733f96c
Slightly change some BlitSpan methods
2019-11-22 19:53:55 -06:00
Alex Barney
be2c4d3959
Add SourceLink package
2019-11-22 19:53:55 -06:00
Alex Barney
5d2de68976
Slight renamings
2019-11-22 19:53:55 -06:00
Alex Barney
5b6ca9c160
Add BlitStruct<T> and BlitSpan<T>
2019-11-22 19:53:55 -06:00
Alex Barney
bfaf95026a
Add EnsureApplicationSaveData and dependencies
...
- CreateBcatSaveData
- CreateDeviceSaveData
- CreateTemporaryStorage
- ApplicationControlProperty struct
2019-11-22 19:53:55 -06:00
Alex Barney
df8dab542a
Allow setting system save owner to 0 for now
2019-11-22 19:53:55 -06:00
Alex Barney
db6269df5c
Interleave AES instructions to improve performance
2019-11-22 13:59:47 -05:00
Alex Barney
191b3d41f6
Ensure crypto works when the input and output buffers are the same
2019-11-22 13:59:47 -05:00
Alex Barney
d0caf6ca4f
Use new crypto in Keyset class
2019-11-22 13:59:47 -05:00
Alex Barney
2f4453404f
Rename Crypto namespace
2019-11-22 13:59:47 -05:00
Alex Barney
488bd8e682
Rename Aes class
2019-11-22 13:59:47 -05:00
Alex Barney
4b2c4d9553
Refactor non-NI AES code
2019-11-22 13:59:47 -05:00
Alex Barney
2752a7c3db
Avoid allocations when doing encryption with AES-NI
2019-11-22 13:59:47 -05:00
Alex Barney
df646fb503
Add functions to encrypt/decrypt entire buffers
2019-11-22 13:59:47 -05:00
Alex Barney
8b47be19c2
Add XTS mode and remove duplicate code
2019-11-22 13:59:47 -05:00
Alex Barney
df27d2a83b
Use AES-NI instructions
2019-11-22 13:59:47 -05:00
Alex Barney
f99bc3e0fe
Give a better error in LocalFileSystem when trying to initialize it with a file
2019-11-11 12:03:22 -06:00
Alex Barney
fcf46b1822
Reduce memory used by parsing CLI arguments and keys
...
These actions are usually only performed once per program run, but the objects they used were stored as static properties where they couldn't be cleared from memory. Free up a small bit of memory by only storing them locally.
Reduces memory used by ~150 KB and reduces object count by over 1500
2019-11-03 12:25:09 -07:00
Alex Barney
cccb811293
Add Result methods for debugging ( #90 )
...
- Allow setting a callback function for when Result.Log is called.
- Allow setting a function that returns a name for a Result value.
- Print Result name in error messages
2019-10-25 22:13:09 -05:00
Alex Barney
172817a7d5
Make EmulatedSdFileSystemCreator config easier
...
Also make unintentionally internal classes public and enforce var style
2019-10-24 15:28:36 -05:00
Alex Barney
f3b5cad94b
Merge pull request #89 from Thealexbarney/saveIndex
...
Add a save indexer with related functions
Adds IFileSystemProxy commands:
- DeleteSaveDataFileSystem
- DeleteSaveDataFileSystemBySaveDataSpaceId
- DeleteSaveDataFileSystemBySaveDataAttribute
- CreateSaveDataFileSystem
- CreateSaveDataFileSystemWithHashSalt
- CreateSaveDataFileSystemBySystemSaveDataId
- OpenSaveDataFileSystem
- OpenReadOnlySaveDataFileSystem
- OpenSaveDataInfoReader
- OpenSaveDataInfoReaderBySaveDataSpaceId
- OpenSaveDataInfoReaderWithFilter
- FindSaveDataWithFilter
2019-10-24 10:37:56 -05:00
Alex Barney
901b72a186
Make internally-used FileSystemProxy methods private
2019-10-23 17:45:28 -05:00
Alex Barney
436de21c86
Add ISaveDataIndexer.GetCount
2019-10-23 17:30:08 -05:00
Alex Barney
bf8b975fa6
Implement more OpenSaveDataInfoReader commands
2019-10-23 17:12:24 -05:00
Alex Barney
04b123f16e
Adjust opened SaveDataInfoReaders if the collection is modified
2019-10-23 15:44:00 -05:00
Alex Barney
f0aac13fab
Add some SaveDataInfoReader functions
2019-10-22 17:52:55 -05:00
Alex Barney
3af543e4e1
Do error handling in CreateSaveDataFileSystemImpl
2019-10-21 20:38:59 -05:00
Alex Barney
e74bda1a68
Implement DeleteSaveDataFileSystem
2019-10-21 00:29:54 -05:00
roblabla
d2cf1ecb1f
hactoolnet: Add Title Name to NCA output
...
When displaying an NCA containing an NPDM in the code partition, display the
title name.
2019-10-19 10:41:28 -05:00
Alex Barney
92049bf9b7
Add main parts of CreateSaveDataFileSystem
2019-10-18 18:57:45 -05:00
Alex Barney
fef6d19900
Rearrange some FS client functions
2019-10-17 15:52:29 -05:00
Alex Barney
ee9bee3efb
Make IFileSystem implement IDisposable
2019-10-17 14:52:44 -05:00
Alex Barney
d330d11de2
Add SaveDataIndexer
2019-10-17 10:52:35 -05:00
Alex Barney
c7f2f28a81
Fix CleanDirectoryRecursivelyGeneric
2019-10-16 20:28:46 -05:00
Alex Barney
dee7c93285
Use plain structs for kvdb
2019-10-15 12:33:15 -05:00
Alex Barney
be907ce4bb
Target .NET Core 3.0 ( #85 )
...
* Target .NET Core 3.0
* Update build and test project packages
* Update AppVeyor build image
2019-10-14 21:10:53 -05:00
Alex Barney
9b9e83f1dc
Increment GitVersion. Renaming
2019-10-14 17:26:47 -05:00
Alex Barney
102adb4a11
Update version to 0.6.0
2019-10-14 12:28:23 -05:00
Alex Barney
49ec3d6427
Add a path normalizer that behaves like the one in FS
2019-10-14 12:10:56 -05:00
Alex Barney
e05a37bb38
Ensure failed directory savedata commits can be recovered
2019-10-14 12:10:56 -05:00
Alex Barney
576049ce88
Add OperateRange to IFile and IStorage. Reorder methods
2019-10-11 21:20:20 -05:00
Alex Barney
8390e10ae0
Make FileBase abstract methods protected
2019-10-11 20:32:47 -05:00
Alex Barney
8f4c310b7e
Add FileSystemBase
2019-10-11 19:11:36 -05:00
Alex Barney
162fb4e389
Move IStorage classes to the new StorageBase
2019-10-11 14:48:31 -05:00
Alex Barney
bfc343e801
Add some validation to StorageBase
2019-10-11 12:53:29 -05:00
Alex Barney
54950c9b68
Handle more errors in LocalFileSystem
2019-10-10 19:01:46 -05:00
Alex Barney
089b5b4f63
Add EmulatedGameCardFsCreator
2019-10-08 20:39:07 -05:00
Alex Barney
f4aaa3b453
Merge from master
2019-10-08 16:29:05 -05:00
Alex Barney
6ed1f1297d
Make GameCardHandle.Value public
2019-10-08 11:29:33 -05:00
Alex Barney
b517085e92
Add DefaultFsServerObjects for creating a default server instance
2019-10-07 19:01:53 -05:00
Alex Barney
51a13068df
Add an emulated gamecard and storage creator
2019-10-07 18:39:06 -05:00