Commit graph

572 commits

Author SHA1 Message Date
Alex Barney
353c538c6b Properly handle opening patch NCAs with an empty base section 2019-05-14 17:03:53 -05:00
Alex Barney
d189826203
Rename IO namespace to Fs (#58) 2019-05-14 16:39:20 -05:00
Alex Barney
e3e6411aa6 Add rename functions to SaveDataFileSystemCore 2019-05-13 21:30:09 -05:00
Alex Barney
25a66cf4df Fix issues with empty files in SaveDataFileSystemCore 2019-05-13 21:30:09 -05:00
Alex Barney
6f7de478eb Implement CreateDirectory in SaveDataFileSystemCore 2019-05-13 21:30:09 -05:00
Alex Barney
b9236b973a Fix bug in CachedStorage that would drop writes
If block 0 of the storage was written to before the cache was filled and then another block was accessed, any writes to block 0 would be lost.
2019-05-13 21:30:09 -05:00
Alex Barney
b83fb6c7fc Add SaveFsList expansion 2019-05-13 21:30:09 -05:00
Alex Barney
823800945a Add comments for the new functions 2019-05-13 21:30:09 -05:00
Alex Barney
c766a413e2 hactoolnet: Add option to replace a savedata's entire contents 2019-05-13 21:30:09 -05:00
Alex Barney
26ac0ed975 Fix bugs when running out of save data space 2019-05-13 21:30:09 -05:00
Alex Barney
47ba61db45 Add DeleteDirectory to savedata 2019-05-13 21:30:09 -05:00
Alex Barney
3c45e7e71b Add DeleteDirectoryRecursively and CleanDirectoryRecursively 2019-05-13 21:30:09 -05:00
Alex Barney
6590cad251 Fix QueryEntry signature 2019-05-13 21:30:09 -05:00
Alex Barney
f1e839a64a Add GetFreeSpaceSize and GetTotalSpaceSize 2019-05-13 21:30:09 -05:00
Alex Barney
bc22d6dd99 Add GetFileTimeStampRaw 2019-05-13 21:30:09 -05:00
Alex Barney
6aa15c0691 Match FS behavior when checking if an NCA section exists 2019-05-06 21:42:53 -05:00
Alex Barney
3888a03a92 Suppress ReSharper warnings 2019-05-06 19:51:41 -05:00
Alex Barney
da5a3449dd hactoolnet: Set archive bit when missing from concat files 2019-05-06 19:04:17 -05:00
Alex Barney
67bf8b19ce Add QueryEntry to IFileSystem 2019-05-06 19:04:05 -05:00
Alex Barney
87e9829892 switchfs: Allow missing save directory in all cases 2019-05-06 19:03:53 -05:00
Alex Barney
72915c0425
Refactor NCA-related classes (#56)
* Begin refactoring NCA classes

* Section opening

* Add NcaNewExtensions

* hactoolnet: Move most nca code to the new api

* Verify nca signatures

* hactoolnet: process patched ncas

* Add NCA encryption counter generation method

From what I can tell, this is the current method used to generate the counter. It's possible that may change in the future.

* Verify NCAs

* Use NcaNew in SwitchFs

* Remove old NCA code

* Rename new NCA classes

* Move struct constants around

* hactoolnet: verify patched nca sections

* Misc
2019-05-06 13:41:51 -05:00
Alex Barney
7804a919d1 SwitchFs: Don't try to open directories as NCA files 2019-04-30 15:40:31 -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
shchmue
fbdf6b3be9 Add support for 8.0.0 Kernel-embedded Ini1 (#51) 2019-04-23 18:13:46 -05:00
Alex Barney
6764dc7800
Merge pull request #52 from Thealexbarney/save-edit
Add more support for savedata FS editing
2019-04-23 15:14:10 -05:00
Alex Barney
0441d6e825 Small code cleanup 2019-04-23 15:08:27 -05:00
Alex Barney
c383b94632 Allow resizing when replacing file in savedata 2019-04-22 21:37:01 -05:00
Alex Barney
fdefd5cf36 Create a separate method for savedata debug export 2019-04-22 21:34:32 -05:00
Alex Barney
300a4335ea Flush IVFC storage on savedata commit 2019-04-22 21:32:57 -05:00
Alex Barney
5bb46b2b36 Forward Savedata FS functions to core FS 2019-04-20 14:21:09 -04:00
Alex Barney
8914d89b32 Add SaveDataFile resizing 2019-04-20 14:15:00 -04:00
jonnysp
42ce382bf5 Add an NRO reader (#44) 2019-04-20 06:46:13 -05:00
Alex Barney
22416f66bf Modify build script naming convention 2019-04-19 16:13:07 -04:00
Alex Barney
5c84f5c2a4 Add FsTrim for savedata 2019-04-15 23:49:04 -04:00
Alex Barney
9c0e6030e5 Add DeleteFile to savedata 2019-04-12 22:52:33 -04:00
Alex Barney
b1997806c1 Add savedata CreateFile 2019-04-11 18:08:17 -04:00
Alex Barney
c89b8be887 Add joining allocation table lists 2019-04-03 18:04:04 -05:00
Alex Barney
d7dd540b21 Move some logic to AllocationTable 2019-04-03 16:55:14 -05:00
Alex Barney
6112e35eb2 Read directly from save allocation table when requested 2019-04-02 17:21:38 -05:00
Alex Barney
90fc0e096c Use generics for save file table entries 2019-04-01 21:15:08 -05:00
Alex Barney
2cf84b332f Add NDepend logo 2019-04-01 15:07:11 -05:00
Alex Barney
079ffa6d3b Implement adding entries to HierarchicalSaveFileTable 2019-03-29 16:25:22 -05:00
Alex Barney
dc2bd08823 Implement RenameDirectory for AesXtsFileSystem 2019-03-28 15:32:38 -05:00
Alex Barney
6e6c060e25 Allow setting length on more IStorage classes 2019-03-28 15:32:38 -05:00
Alex Barney
f570c56122 Add ConcatenationFile resizing 2019-03-28 15:32:38 -05:00
Alex Barney
1ee3841125 Add AesXtsFileSystem resizing and renaming 2019-03-28 15:32:38 -05:00
Alex Barney
5c1d8e0786 Fix bugs in the savedata file table
PathParser: Make sure IsFinished is properly set if the path is the root directory.

SaveFsList: When getting the index of a key, the wrong offset would be returned if the key did not exist.

Save/Rom FileTables: The rom file table code assumed the root directory was always at offset 0. This code was copied to the save file table, but the root directory in the save file table is never at index 0. Remove this assumption.
2019-03-23 16:56:08 -05:00
Alex Barney
4557665805 Change IStorage.Length to IStorage.GetSize() 2019-03-18 17:31:47 -05:00
jonnysp
7050b9a681 Avoid opening KIP files twice 2019-03-18 14:30:50 -05:00
Alex Barney
c73493b505 hactoolnet: Use new NCA APIs 2019-03-15 21:23:39 -05:00