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
2242fc6371
Miscellaneous code style cleanup
2020-08-18 21:47:46 -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
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
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
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
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
ef1481b04c
Replace old fsa classes with new ones
2020-06-07 15:23:51 -07:00
Alex Barney
7c9584a6af
Add new IFileSystem and IDirectory
2020-06-06 22:48:20 -07:00
Alex Barney
3de2a4b90b
Update MyGet package publishing
2020-06-04 11:17:30 -07:00
Alex Barney
8d5e24d061
Ensure csv column counts are consistent
2020-05-12 19:02:48 -07:00
VolcaEM
7f0afbe9db
Add some results codes
...
The result codes were taken from Switchbrew (switchbrew.org/wiki/Error_codes)
The names are consistent with those of https://github.com/Ryujinx/Ryujinx/pull/1202
2020-05-02 18:33:03 -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
ef36568a8d
Implement DeliveryCacheFileService and supporting code
2020-04-10 10:54:37 -07:00
Alex Barney
da78e7e8ce
Add BCAT storage skeleton
2020-04-07 00:22:12 -07:00
Alex Barney
e5c851e7a3
Add KipReader class and add kip decompression to hactoolnet
2020-03-29 22:12:00 -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
bc769d7454
Update build dependencies
2020-03-23 09:49:18 -07:00
Alex Barney
84cb7cd6b1
Check for duplicate Results when doing codegen
2020-03-23 09:37:50 -07:00
Alex Barney
f44b09ec1f
Add some Results
2020-03-23 09:10:55 -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
036e048208
Finish OpenFileSystemWithId enough to work with most content
2020-03-10 15:07:06 -07:00
Alex Barney
c141b72912
Use U8Span in IFileSystem instead of string
2020-03-08 01:00:02 -07:00
Alex Barney
7ce9ea09e6
Misc build updates
2020-02-29 01:36:23 -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
857bde67ee
Simplify CoreRT build
2020-01-17 00:20:24 -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
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
f304f664f4
Build for the current OS when doing a CoreRT build
2019-11-27 20:03:47 -06:00
Alex Barney
526864c456
Update build and test dependencies
2019-11-26 20:47:05 -06: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
9d813ade18
Use .NET Framework reference assemblies from NuGet ( #77 )
...
* Use .NET Framework reference assemblies from NuGet
* Update build packages. Specify --no-build when publishing
* Don't sign on Linux
2019-08-09 20:29:06 -05:00
Alex Barney
7b8c3f0b4f
Add .NET Standard 2.0 target ( #73 )
...
* Add .NET Standard 2.0 target
* Update dependencies
2019-07-15 14:10:48 -05:00
Alex Barney
b361567977
Add CoreRT build option ( #63 )
2019-06-06 17:15:43 -05:00
Alex Barney
a7391afa9c
Fix build parameter variables
2019-05-30 21:00:22 -05:00
Alex Barney
5a4b56efad
Update build dependencies
2019-05-30 20:21:58 -05:00
Alex Barney
cc9ca448f0
Add fstrim capability to savedata ( #54 )
...
* Properly commit version 4 savedata. Remove null span checks
* Add FsTrim to IntegrityVerificationStorage
* Remove dotsettings file
* Add trimming to all savedata layers
2019-04-26 09:48:57 -05:00
Alex Barney
22416f66bf
Modify build script naming convention
2019-04-19 16:13:07 -04:00
Alex Barney
093d88a58e
Don't set PathMap on standard builds
2019-03-15 12:27:43 -05:00
Alex Barney
5ec829915d
Tweak AppVeyor build version
2019-02-16 20:50:41 -06:00
Alex Barney
199dbf7543
Tweak pre-release package version
2019-02-16 20:34:01 -06:00
Alex Barney
b68261a092
Build script updates ( #33 )
...
- Make generated NuGet packages deterministic.
- Add a signing option to the build script.
- Set versions for pre-release builds.
- Publish packages to a MyGet feed.
- Make Windows-produced artifacts match Linux-produced ones
2019-02-16 19:03:56 -06:00
Alex Barney
b8b57c9fb7
Add LayeredFileSystem
2019-01-17 22:38:28 -06:00
Alex Barney
71c4e6746b
Begin implementing IFileSystem
2019-01-17 22:38:28 -06:00
Alex Barney
bb14125542
Add build script ( #20 )
2018-11-21 22:57:18 -05:00