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