134 Commits

Author SHA1 Message Date
18b54af091
Fix formatting issue with setting the Title ID in the ticket module 2024-07-28 03:33:28 -04:00
2d67f982dc
Re-encrypt Title Key when setting the Title ID (title module only) 2024-07-28 03:28:44 -04:00
d6e6352d0a
Correctly generate IV for Title Key decrpytion for all Title ID formats 2024-07-28 03:15:51 -04:00
7daba7ec86
Add IOSPatcher to apply patches to IOS WADs loaded into a Title()
Also fixes a MAJOR bug with WAD packing where changes to the content records would be dropped when dumping a WAD (!!)
2024-07-28 01:43:46 -04:00
930e09828e
Always return lowercase file names from SharedContentMap.add_content() 2024-07-27 20:47:22 -04:00
a5ce7e9cd1
Minor fix for accepting different input types for SharedContentMap.add_content() 2024-07-27 19:56:43 -04:00
76b773ee36
Fix adding content to the content map if it is empty 2024-07-27 19:36:27 -04:00
817a2c9ac5
Added SharedContentMap to content module to handle content.map files 2024-07-27 19:22:21 -04:00
102da808e6
Add option to skip hash checks when unpacking a WAD 2024-07-25 21:14:12 -04:00
f7f67d3414
Rewrote most of the content module, code is much cleaner now
It also has more checks, so that should ensure that more errors get caught and aren't either ignored or allowed to fall through to the interpreter.
Also, part of this cleanup is that the content module now entirely operates on content indexes and not literal indexes, so this makes sure that WADs where the content and literal indexes don't match are handed properly
2024-07-25 17:15:26 -04:00
39eecec864
Fall back on key 0 when invalid, fix footer reading code 2024-07-25 13:09:01 -04:00
5f4fa8827c
Added new methods to TMD/Ticket/Title modules for changing title versions 2024-07-22 02:42:04 -04:00
e70b9570de
Fix handling WADs where content index != actual index in the array 2024-07-20 15:07:23 -04:00
4f96e1b0d9
Add more detailed keys to pyproject.toml v0.4.1 2024-07-17 21:03:08 -04:00
bcd61b8a37
Slightly improve fakesign docstrings 2024-07-17 20:48:16 -04:00
a56fa6e051
Added methods to fakesign a TMD or Ticket 2024-07-17 20:44:04 -04:00
535de7f228
Read/write minor version in tmd module, allows for fakesigning 2024-07-10 20:18:15 +10:00
adac67b158
Change title version handling in tmd module
Now saving the version number (like v513) straight from the TMD and using that to dump the TMD, in case the converted version number (like v2.2) doesn't work right, which mostly applies to the system menu.
2024-07-10 08:11:14 +10:00
f96da98d23
Separate out components of a TMD signature
Not sure why this hadn't been done already given that the ticket module has always used separate properties for the signature type and data.
v0.4.0
2024-07-06 20:15:18 +10:00
c5abf16f67
Finally fix content region size in WAD headers 2024-07-06 20:00:18 +10:00
45638769a9
Allow for extracting a U8 archive to an existing (empty) directory 2024-07-05 08:34:23 +10:00
1f731bbc81
Improve WAD handling, fixes IOS WADs made with other tools not extracting
The way content sizes are handled has been adjusted to allow IOS WADs (which have their content structured a bit differently) made via other tools to be extracted.
Writing out WADs has also been changed so that the content size in the header now matches the output of older tools.
2024-07-02 18:29:15 +10:00
9bfb44771e
Merge remote-tracking branch 'origin/main' 2024-06-26 17:49:24 -04:00
82f4e7dcc4
Wrote new guide on extracting data from a WAD 2024-06-26 17:49:10 -04:00
c4847365ab
Replaced README banner at the Python Software Foundation's request
libWiiPy's previous banner used the Python logo in a manner deemed unacceptable by the PSF, and they have requested that its use be discontinued immediately.
2024-06-26 11:10:09 -04:00
e00fc376c6
Replaced banner at the Python Software Foundation's request 2024-06-26 11:08:19 -04:00
04fa9034a0
Added new plugins, began writing tutorials 2024-06-26 01:15:43 -04:00
df1ed559ef
Rewrote all docs in Markdown instead of the default reST 2024-06-25 22:57:09 -04:00
53e098ca9b
Make sure libWiiPy is built and installed so Sphinx can import it 2024-06-25 21:38:33 -04:00
da2d6b0003
Added workflow to build and publish docs on push 2024-06-25 17:42:28 -04:00
6575dd37f7
Added basics for a proper API docs website 2024-06-25 17:34:34 -04:00
75510ed2b9
Updated README to reflect changes being worked on for v0.4.0 2024-06-24 23:19:16 -04:00
53f798e36a
Merge pull request #20 from NinjaCheetah/ash-dec
Add support for decompressing ASH files
2024-06-23 18:37:06 -04:00
0861c20100
Privatized many functions and classes that should be private
Also changed some imports to import as _name so that stuff like dataclass() doesn't appear as available under libWiiPy.title
2024-06-23 18:28:32 -04:00
2d64f7961e
Added new ash module to archive subpackage, can decompress ASH files 2024-06-23 17:59:12 -04:00
7b7a3fbf51
Return FileNotFoundError if path doesn't exist in pack_u8() v0.3.1 2024-06-12 14:11:57 -04:00
6b8eda7823
Also automatically import crypto for the title subpackage v0.3.0 2024-06-07 23:36:20 -04:00
af6977a23c
Fix imports for new package structure 2024-06-07 23:30:02 -04:00
96c975728b
Merge branch 'refs/heads/u8' 2024-06-07 23:22:08 -04:00
2fbb2b04f3
Fix nus module not being imported automatically 2024-06-07 23:21:03 -04:00
195a005752
Merge pull request #19 from NinjaCheetah/u8
Add U8 packing and extracting
2024-06-07 23:12:50 -04:00
736a9e5c0c
Update README for v0.3.0 release 2024-06-07 23:11:51 -04:00
5743ee2695
Remove some pointless comments I noticed 2024-06-07 23:05:45 -04:00
b30017460b
Completed the U8 module, can now handle full folder packing 2024-06-07 22:30:34 -04:00
2755364472
Rewrote U8 extraction code entirely, now handles U8 files in all cases 2024-06-05 22:02:19 -04:00
1d77868cb1
Reworked U8 module and added initial support for dumping U8 archives back to bytes 2024-06-03 23:20:34 -04:00
ade4b68394
Entirely restructured package to make it more of a proper Python package
THIS IS A BREAKING COMMIT! ALL v0.2.X BASED PROJECTS WILL NEED TO BE UPDATED TO SUPPORT v0.3.X!
2024-06-02 22:18:05 -04:00
bc9224e40b
Added base for tests 2024-05-29 20:05:41 -04:00
cbaafca0d1
Working basic code to extract a U8 archive 2024-05-29 12:48:44 -04:00
ede33dc503
Add highly experimental U8 handling module 2024-05-16 21:24:42 -04:00