Commit Graph

212 Commits

Author SHA1 Message Date
374358711b Beginning libWiiPy refactors
No major functional changes have been made so far other than a couple of things being shifted between files, but a lot of bad code has been rewritten to hopefully make libWiiPy maintainable into the future.
2025-12-16 23:14:33 -05:00
ce5d118de1 Create cert.sys during EmuNAND title installation if not found 2025-07-12 13:03:42 -04:00
6d38df9133 Type __init()__ functions, clears all mypy issues 2025-05-27 13:57:39 -04:00
2ca2ff1f44 Fix all mypy errors 2025-05-27 13:46:21 -04:00
79ab33c18a Added support for progress callbacks in NUS download functions 2025-05-24 23:38:55 -04:00
e06bb39f4c Properly create/update uid.sys during EmuNAND title installs 2025-04-18 13:54:28 -04:00
8269a0db98 (Title) Add check to make sure Ticket data exist before decrypting content 2025-04-17 16:31:16 -04:00
8adbef26b1 Updated README to reflect features since v0.5.0 v0.6.0 2025-02-10 16:26:45 -05:00
5dde9f7835 Changed how the Title ID is handled in Tickets, stubbed out NUS endpoint validation 2025-02-10 13:36:39 -05:00
93abad1f31 LZ77 Compression: Now 12.5% faster! 2025-01-29 22:48:58 -05:00
9eabf2caee Added a lower LZ77 compression level that runs faster 2025-01-26 12:56:41 -05:00
5ae867197b (doc) Workaround for ScrollSpy issue breaking TOC 2025-01-25 20:40:44 -05:00
6552dc5fa8 Add LZ77 Compression Function (#22)
* Unfinished wiiload module and LZ77 compression code

* Updated WIP LZ77 compressor, still not working yet

* Updated WIP LZ77 compressor, still not working yet (again)

* LZ77 compression is now fully functional! (But still very slow)

* Added compress_lz77 docstrings, temporarily removed unfinished wiiload module
2025-01-23 22:26:34 -05:00
93790d6f58 Added docs for LZ77 module 2025-01-16 22:43:51 -05:00
f0b79e1f39 Match Root-CA00000002-XS00000004 as a dev Ticket 2025-01-12 22:23:32 -05:00
06b36290ed Add error handling for custom NUS endpoints 2025-01-12 21:54:16 -05:00
47472e7b94 Added LZ77 decompression module 2025-01-08 18:43:48 -05:00
7c5af6ebe0 Always user all uppercase when getting installed titles on EmuNAND 2025-01-02 17:20:09 -05:00
046645eb56 Added method to title module to get if a title is signed legitimately 2024-12-23 23:50:14 -05:00
e45c7a3076 (docs) Began writing module descriptions 2024-12-21 18:09:37 -05:00
c2f6225500 Entirely restructured API documentation, now much easier to navigate 2024-12-20 19:21:53 -05:00
04d17a58d2 Added missing note about retail vs development root keys 2024-12-16 22:24:27 -05:00
aa9e8fb4ea Updated placeholder docstrings in cert module 2024-12-16 22:22:11 -05:00
8a15b1e82e Handle cert chain data in a title as a CertificateChain instead of bytes 2024-12-16 22:14:07 -05:00
ece19177c4 Added error handling to cert module, added support for dev CA cert 2024-12-16 21:55:58 -05:00
3a44eaf2cf Added new CertificateChain class to manage the certs in a chain
Some checks failed
Build and publish documentation with Sphinx / build (push) Has been cancelled
Build and publish documentation with Sphinx / deploy (push) Has been cancelled
2024-12-15 23:09:13 -05:00
2fdd808137 Added new cert module to parse certs and functions to use them for verification 2024-12-15 22:08:51 -05:00
f98a3703a4 Fixed EmuNAND title installs when the title wasn't loaded from a WAD 2024-12-12 22:29:33 -05:00
1e6952c2b2 Fixed invalid default value for nus.download_title() 2024-12-12 21:54:00 -05:00
944fb896b5 Exclude DLC size from size total in tmd module 2024-12-12 20:05:43 -05:00
3d4d3dc99e Use .lower() since title paths are lowercase 2024-12-12 17:32:44 -05:00
62f99165c7 Split methods to get the TMD and Ticket in EmuNAND module 2024-12-12 17:25:23 -05:00
e227f4e2be Added methods to get content size to TMD module 2024-12-12 11:47:15 -05:00
da16259938 Added method to EmuNAND module to get the TMD and Ticket for an installed title 2024-12-11 21:37:56 -05:00
1cce0f14ee Allow specifying a custom endpoint URL for NUS downloads 2024-12-08 22:06:32 -05:00
c86b44f35c Restructured IMET header code, now in archive/u8 and not media/banner 2024-11-30 18:54:50 -05:00
1ff4ecdf68 Added method to query all titles installed in EmuNAND 2024-11-28 00:49:54 -05:00
302bd842d1 Remove leftover import now that banner.py has been moved 2024-11-21 19:20:32 -05:00
c5a007e1f5 Small fix for docs 2024-11-21 19:18:03 -05:00
e96f6d9f13 Finished IMETHeader class, can now load, dump, create, and get/set channel names 2024-11-21 19:08:52 -05:00
57b2ed63d4 Disable TMD/Ticket TID match check 2024-11-21 16:22:12 -05:00
855200bb98 Add preliminary support for parsing 00000000.app
New module banner.py offers classes for IMD5 and IMET headers, U8 unpacker now supports U8 archives with IMET headers.
2024-11-18 17:00:18 -05:00
cfd105ba81 Updated banner used in README 2024-11-10 23:22:24 -05:00
ed7e928ad8 Updated banner 2024-11-10 23:20:30 -05:00
6b18254edc Small README change to reflect dev support 2024-10-20 22:41:34 -04:00
1b6e0db26d Revert changes related to processing content indices
Changes released in libWiiPy v0.5.0 and v0.5.1 to how indices were handled ended up way overcomplicating things, resulting in lots of issues now that I'm working with the content module again in WiiPy. These changes have mostly been reverted.
The issues were related to handling WADs where the content indices don't align with the actual index of the content, like in cases where content has bene removed. This issue has been fixed again with a new and much simpler patch that should not introduce new bugs.
v0.5.2
2024-10-20 19:03:26 -04:00
9ae059b797 Add support for extracting/packing/otherwise handling dev WADs 2024-10-13 21:39:52 -04:00
c604c195d2 Correct line endings when dumping setting.txt v0.5.1 2024-10-09 20:38:00 -04:00
0c2e13f18a Remove leftover debugging print 2024-10-08 14:06:09 -04:00
7fed039fdc Added methods to get a content index from a CID and add content from a Title() 2024-09-13 14:56:37 -04:00