v0.2.0: WAD Packing/Title Editing!
libWiiPy v0.2.0 is here! With it comes one of the most important features, full support for WAD files! WADs can now be loaded and extracted, the content can be separated out and decrypted, and then all of that data can be reassembled back into a WAD. Essentially, libWiiPy now has full WAD extraction and packing support, and you can see a basic implementation of this over at the repository for libWiiPy-cli!
Changelog:
- Entirely restructured
wad.py
,tmd.py
,ticket.py
,content.py
- Added
title.py
for higher-level access to an entire WAD and all of its components without having to handle each one separately - Fixed a bug in
content.py
and removed a mitigation for that bug incrypto.py
that also caused issues - Added support for for re-encryption of content and for that content to be loaded back into a ContentRegion
- Added support for dumping TMD, Ticket, ContentRegion, and WAD objects back into raw data for outputting
- Added support for creating blank objects of each type so that data can be loaded into them after creation, rather than forcing you to have that data beforehand (this allows
title.py
to actually function for creating a new WAD from loose files) - Removed unnecessary instance attributes that didn't need to be exposed and would become poisoned upon any changes
- Removed some remaining instance methods that just retrieved instance attributes that you could already access
- Replaced
content.py
'sget_enc_content()
andget_content()
withget_enc_content_by_id()
/get_enc_content_by_cid()
andget_content_by_id()
andget_content_by_cid()
to allow getting content by either its content index or ID
Please be aware that for the most part, the API for libWiiPy v0.1.0 is entirely incompatible with libWiiPy v0.2.0. Fewer dramatic changes are likely to happen in the future, but this is just how prerelease software goes.
This release is also available on PyPI.