Commit graph

978 commits

Author SHA1 Message Date
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
ff96c8575b Use "Result" and "Success" asserts in tests 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
d3c95d14d3
Merge pull request #147 from Thealexbarney/bucket-tree
Add more accurate BucketTree and IndirectStorage classes to replace the old ones.
Add a bucket tree builder.
2020-06-26 20:22:37 -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
Alex Barney
d5362790b8 Fix a logic error in the build script loader
Also pull upstream changes in NUKE's loader and update the SDK version
2020-06-02 23:32:08 -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
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
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