Maschell
3715b757ab
Add support for wumad data partitions
2019-06-04 13:16:13 +02:00
Maschell
6d9cb2b155
Fix package declaration of NUSDataProviderWumad
2019-06-04 12:54:14 +02:00
Maschell
2c3c25d806
The wudmad loading doesn't require any key..
2019-06-04 12:53:19 +02:00
Maschell
3b0b5b982f
Move NUSDataProvider Wumad into the right package
2019-06-04 12:52:34 +02:00
Maschell
9597b35a6d
- Add suppport for multiple wumad partitions
...
- The WUDPartitionHeader is now the "GameParitionHeader" as it's used by WUD and WUMAD
- Refactor the way of loading the wumad. Now you have to use the WumadLoader, similar to the WUD
2019-06-04 12:13:25 +02:00
Maschell
cb0874deda
Add initial support for .wumad files.
...
Doesn't support all .wumads yet. Multiple paritions are not supported. SI partition is required
2019-06-03 22:23:52 +02:00
Maschell
23f7066f0a
Update readme
2019-05-04 12:27:09 +02:00
Maschell
95802c7f5d
Fix woomy support.
2019-05-04 12:05:34 +02:00
Maschell
96e048b4b5
Some clean up
2019-05-04 11:27:35 +02:00
Maschell
0ed359a43a
Add default readFileToStream function wthout offset/size
2019-05-04 11:11:36 +02:00
Maschell
156fcd02df
Fix the getFSTEntriesByContentIndex function
2019-05-04 11:11:04 +02:00
Maschell
010e349af9
Optimize the check for Exceptions on the PipedInputStreamWithException. Now everything is checked (properly) on every action do try to do on the stream.
2019-04-30 15:45:38 +02:00
Maschell
62b87fe925
Revert commit [ 4b9ef5d
]. We need that kind of hashing.
2019-04-30 15:43:37 +02:00
Maschell
b432537af7
Refactor FSTEntry decrypting
2019-04-30 15:43:04 +02:00
Maschell
8dc4c8cf4d
Moved the IV creation into another function, the hash function don't really need the contentIndex.
2019-04-30 14:35:32 +02:00
Maschell
5ccc8c1763
Fix the size alignment wehne decrypting non hashed files
2019-04-30 14:32:34 +02:00
Maschell
4b9ef5da70
Optimize the hash checks when decrypting a non hash file
2019-04-30 14:31:53 +02:00
Maschell
da196e845f
Force an 0x10 alignment of the offset when trying to decrypt a file
2019-04-30 14:26:02 +02:00
Maschell
fc3a604cd4
Optimize the random access of the non hashed files
2019-04-30 14:25:29 +02:00
Maschell
79365a9fe6
Caclulate how much of the stream actually is needed
2019-04-30 12:04:49 +02:00
Maschell
e461e78313
Throw an exception if the inputstream couldn't deliver all the needed bytes
2019-04-30 12:04:09 +02:00
Maschell
3296b1befe
Add caching for the h3 values on remote accesses
2019-04-30 12:03:39 +02:00
Maschell
532501f3a5
Remove unused attribute of the NUSTitle class
2019-04-30 09:31:50 +02:00
Maschell
95a25c4bcf
Fix the Range attribute for downloading
2019-04-30 09:31:31 +02:00
Maschell
3eb299d3a1
Formatting and organizing imports
2019-04-26 16:44:57 +02:00
Maschell
c1f6272476
Rename functions
2019-04-26 16:42:41 +02:00
Maschell
a48f2c7547
Remove redundant code
2019-04-26 13:45:24 +02:00
Maschell
69e0c8b36a
The size in the FSTDataProvider and NUSDataProvider functions are not Optional anymore
2019-04-26 13:44:24 +02:00
Maschell
9cb2eaf3be
Cache h3 content
2019-04-26 13:33:13 +02:00
Maschell
c3f4f96344
Fix the partial argument for the decryption
2019-04-26 10:55:13 +02:00
Maschell
dd4219423f
Refactor the readFileToStream function of the FSTDataProviderNUSTitle
2019-04-26 10:10:10 +02:00
Maschell
c57cee987a
Use the default readFile implementation for the FSTDataProviderNUSTitle
2019-04-26 10:08:53 +02:00
Maschell
ddee4b9f5d
Refactor and fix FST parsing.
...
- Fix a bug when parsing certain FST of system titles.
- Remove the Content reference on the FSTEntry. The Content can get be get via the TMD using getContentByIndex. To get the FSTInfo for the content use FSTUtils.getFSTInfoForContent.
- Children are added manually to a FSTEntry (getting ride of side effects).
- The NUSTitleLoader sets the FST to the dataprovider. The WUDDataProvider needs the FST to get access to the FSTContentInfo (=> calculating the offsets of the content files).
- Remove some unused functions from the FSTEntry class
- To get the FSTEntries for the certain content use getFSTEntriesByContentIndex
2019-04-26 10:08:09 +02:00
Maschell
157957f3ee
Add default implementiation for the readFile function of the FSTDataProvider interface
2019-04-26 09:57:05 +02:00
Maschell
794d4b5146
Remove "abstract" keywords from interface
2019-04-26 09:56:27 +02:00
Maschell
448eea1092
Clean up NUSTitle class, move functions to FSTUtils class
2019-04-26 09:55:52 +02:00
Maschell
5a57d42c52
Check partial file reads on a different location
2019-04-26 09:51:28 +02:00
Maschell
995d548c11
Swap offset and size arguments in decrypt functions
2019-04-26 09:49:50 +02:00
Maschell
6981345467
Force the use "/" as the path separator internally
2019-04-24 13:53:07 +02:00
Maschell
c1a1961e03
Minor formatting
2019-04-24 13:28:59 +02:00
Maschell
0d39c037ad
Increase the size of the PipedStream buffers. This increases the performance.
2019-04-24 13:28:47 +02:00
Maschell
1f02e9d41d
Give the NUSDataProvider implementation a hint to limit the length of the content stream
2019-04-24 13:27:54 +02:00
Maschell
a58c1c5b77
Make sure to always read the expected Blocksize from a stream of a hashed content.
2019-04-24 13:27:02 +02:00
Maschell
06184da8d3
Only throw an exception in the FSTService when a content for a given wasn't found if the Map is emtpy
2019-04-24 13:26:25 +02:00
Maschell
03181f6078
Close file properly on compressWUDToWUX function
2019-04-24 13:25:22 +02:00
Maschell
254d16a584
Simplify the ByteArrayWrapper constructor
2019-04-24 13:24:08 +02:00
Maschell
59411e4c7d
Throw proper exception while hashing
2019-04-19 14:47:39 +02:00
Maschell
9f6f9aaabe
Make sure all streams are really closed via try/finally block. Added a "closeAll" function in StreamUtils which helps to close a list of closeables
2019-04-19 11:41:12 +02:00
Maschell
fccd8f8bf4
Throw an Exception when a FSTDataProviderNUSTitle has no FSTEntry root
2019-04-19 11:39:09 +02:00
Maschell
a5929f346d
Replace System.exit with throwing an Exception
2019-04-19 11:38:02 +02:00