Commit graph

75 commits

Author SHA1 Message Date
Alex Barney
f73d206901 Move ResultNameResolver 2022-01-07 00:33:47 -07:00
Alex Barney
fc1e098118 Update NUKE version and build script dependencies 2021-12-18 17:53:51 -07:00
Alex Barney
592343212f Add new key sources for key generation 13 2021-12-18 13:49:43 -07:00
Alex Barney
f526860599 Modify a few result names 2021-12-04 15:49:31 -07:00
Alex Barney
edfa3de6cb Update build script and tests to run on .NET 6.0
LibHac and hactoolnet still target .NET 5.0.
We need to build the library with a .NET 6.0 SDK in order to use C# 10 features.
2021-11-14 18:36:53 -07:00
Alex Barney
fb00bb7c78 Update codegen for file-scoped namespaces 2021-11-14 18:36:53 -07:00
Alex Barney
34dda02c38 Use file-scoped namespaces 2021-11-14 18:36:53 -07:00
Alex Barney
a23d01e934 Move code to use SharedRef instead of ReferenceCountedDisposable 2021-11-03 23:08:50 -07:00
Alex Barney
ec6eff156c Add missing "Unexpected" FS results 2021-07-13 19:44:14 -07:00
Alex Barney
7cbbf023ff Add new key sources for key generation 12 2021-07-06 17:28:14 -07:00
Alex Barney
c59e72606f Add CreateApplicationCacheStorage 2021-06-08 19:13:47 -07:00
Alex Barney
44229f5986 Rename some save data results 2021-06-01 10:38:17 -07:00
Alex Barney
6dbecd6257 Add new results from Atmosphere 2021-03-28 23:13:06 -07:00
Alex Barney
8848959831 Add most FS results 2021-03-28 23:13:06 -07:00
Alex Barney
a5d41f5b1f Update build scripts and build dependencies 2021-03-19 16:57:11 -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
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
a94bb81c54 Add FsSrv.Impl.FileSystemProxyServiceObject 2021-02-06 22:04:00 -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
b992cdf8c4 Allow setting namespaces on individual Results
Groups files of results by namespace rather than by module
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
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
4efd95f94c Add BufferedStorage with some supporting classes 2021-01-18 23:48:37 -07:00
Alex Barney
8e1eb0d057 Add FileSystemBuddyHeap 2021-01-18 23:48:37 -07:00
Alex Barney
a0487980d4 Add mariko master kek source 5
This key was missed when adding the others because it was used in package1ldr instead of secmon
2020-11-25 22:26:19 -06:00
Alex Barney
e82d3e039b Update build and test packages 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
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
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
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
a9632c8d00 Rewrite the key file parser 2020-10-10 17:19:40 -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
61ce892697 Rewrite the Package1 class, updating it to handle newer package1s 2020-09-28 01:18:15 -07:00
Alex Barney
6496a2c1bc Honor permissions in OpenFileSystemWithId. Add basic AC test 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
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
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
37251968c0 Add FlatMapKeyValueStore with tests 2020-08-07 10:02:50 -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
33af34cefc Rewrite IndirectStorage 2020-06-25 15:26:55 -07:00
Alex Barney
9589f681a6 Add a bucket tree builder 2020-06-19 22:01:22 -07:00